# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import requests
import simplejson as json
import pandas as pd
password ="*******"
ip='**********'
def query_ip_zone(ip):
token = 'f4eb21************ef986e' #需要去下面的网址注册生成token
url = 'https://67ip.cn/check?ip='+ip+'&token='+token
response = requests.post(url)
dt = response.content.decode("utf-8")
data=json.loads(dt)["data"]
ret = data["country"]+data["province"]+data["city"]
service=data["service"]
rst = []
rst = [ip,ret,service]
return rst
def taobao(ip):
url = 'http://whois.pconline.com.cn/ipJson.jsp?ip='+ip
response = requests.post(url)
dt = response.content.decode("gbk")
#data=json.loads(dt)
print(dt)
#return rst
def ipv6(ip):
url = 'http://ip.zxinc.org/api.php?type=json&ip='+ip
response = requests.post(url)
dt = response.content.decode("utf-8")
data=json.loads(dt)["data"]
rst=[]
lc = data["location"].replace("\t","").split(" ")
rst=[ip,lc[0],lc[1]]
print(rst)
return rst
def ipseacher(ip):
url="http://ip-api.com/json/"+ip+"?lang=zh-CN"
response = requests.get(url)
dt1 = response.content.decode("utf-8")
dt=json.loads(dt1)
ret = str(dt["country"])+str(dt["regionName"])+str(dt["city"])
isp=dt["isp"]
rst = []
rst = [ip,ret,isp]
print(rst)
return rst
def ipseacherv6(ip):
#url="http://ip-api.com/json/"+ip
#response = requests.get(url)
url="https://ipapi.ipip.net/v2/query/"+ip+"?token=TOKEN"
response = requests.get(url)
dt1 = response.content.decode("utf-8")
print(dt1[:10000])
#ipv6("2409:896c:2050:ba27:6c72:211c:daca:442a")
#taobao("119.62.209.167")
df = pd.read_excel(r"Ip地址.xlsx")
iplist = df['地址'].values
iprst = []
for i in iplist:
iprst.append(ipv6(i))#根据需求,调用相应的函数,实现对ip地址的读取
print(iprst)
df2 = pd.DataFrame(iprst)
df2.to_excel(r"结果.xlsx")
这段代码展示了如何使用Python从不同API获取IP地址的地理位置信息。它包括调用多个API,如67ip.cn、pconline.com.cn、ip.zxinc.org和ip-api.com,来获取国家、省份、城市等数据,并将结果存储到Excel文件中。

2103

被折叠的 条评论
为什么被折叠?



