免费找一个获取当前IP和地址的接口

免费找一个获取当前IP和地址的接口

之前做项目需要一个获取当前IP的接口,网上的基本上都需要注册,所以就用之前写的来处理了一下,但是发现之前写的除了bug,于是就把代码检查了一下,发现https的网址貌似做了放爬虫,然后想着没办法,就强行把https换成了http,喵~居然可以,把代码放上来给大家看看。
源blog网址 https://nekokami.cc

#!/usr/bin/python3
#coding:utf-8
from xpinyin import Pinyin
import requests
import random
import re

http_url1="http://www.ip138.com"
headers={'User-Agent': ''}

user_agent_list = ["Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
                    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
                    "Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/61.0",
                    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
                    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36",
                    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36",
                    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
                    "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15"
                    ]
headers['User-Agent'] = random.choice(user_agent_list)
re1 = "src=\"(.*?)\" rel=\"nofollow\" width=\"100%\""
re2 = "来自:(.*?)\ (.*?)\r\n"
re3 = "\[(.*?)\]"

def getLocation():
    pin = Pinyin()
    t1 = requests.get(http_url1, headers=headers).text
    http_url2=re.compile(re1).findall(t1)[0]
    http_url2 = http_url2.replace("https","http")
    t2 = requests.get(http_url2).text
    t3 = re.compile(re2).findall(t2)[0]
    ip = re.findall(re3,t2)[0]
    # t3 = t3.replace('省',',').replace('市','').split(',')
    # return pin.get_pinyin(t3[0]).replace('-',''),pin.get_pinyin(t3[1]).replace('-','').replace(' ',''),ip
    return ip,t3[0],t3[1]

L=getLocation()
print(L)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值