python批量查询ip归属
时间: 2023-07-30 19:12:14 浏览: 127
你可以使用第三方库ipip.net来查询IP归属地。以下是一个简单的Python代码示例:
```python
import requests
import json
# API接口地址
url = 'http://ipapi.ipip.net/find'
# 要查询的IP列表
ip_list = ['8.8.8.8', '114.114.114.114']
for ip in ip_list:
# 发送GET请求并获取响应结果
response = requests.get(url + '?ip=' + ip)
# 解析响应结果
result = json.loads(response.text)
# 输出IP归属地信息
print(ip, result[0], result[1], result[2])
```
在这个示例中,我们使用`requests`库发送GET请求获取IP归属地信息,并使用`json`库解析响应结果。你可以将要查询的IP添加到`ip_list`列表中,并在控制台输出其归属地信息。
相关问题
python批量查询ip归属地
你可以使用Python的第三方库requests和re来实现批量查询IP归属地。具体步骤如下:
1. 准备IP列表,将IP逐行写入一个文本文件中,比如ip_list.txt。
2. 使用requests库向IP查询接口发送请求,并获取响应结果。
3. 使用re库对响应结果进行正则表达式匹配,提取出IP归属地信息。
4. 将提取出的IP归属地信息保存到一个文本文件中,比如result.txt。
下面是一个示例代码,你可以根据自己的需求进行修改:
```python
import re
import requests
# 读取IP列表
with open('ip_list.txt', 'r') as f:
ip_list = f.read().splitlines()
# 查询IP归属地
for ip in ip_list:
url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip
r = requests.get(url)
result = re.findall(r'"city":"(.*?)",', r.text)
if result:
city = result[0]
print(ip, city)
with open('result.txt', 'a') as f:
f.write(ip + ' ' + city + '\n')
```
这个示例代码使用了淘宝IP查询接口,你也可以选择其他的IP查询接口,如新浪IP查询接口。
用Python查询IP归属地
你好!关于查询IP的归属地,可以使用Python的第三方库来实现,比如ipip库和QQWry库等。代码示例如下:
使用ipip库:
```python
import ipip
# 读取IP库文件,需要先将IP库文件下载并放到指定路径下
ipdb = ipip.IPDatabase('path/to/ipdbfile.ipdb')
# 查询IP归属地
result = ipdb.find('8.8.8.8')
print(result)
# 输出:{'ret': 0, 'data': {'ip': '8.8.8.8', 'country_name': '美国', 'region_name': '加利福尼亚州', 'city_name': 'Mountain View', 'owner_domain': 'GOOGLE', 'isp_domain': 'GOOGLE', 'latitude': '37.40599', 'longitude': '-122.078514', 'timezone': 'America/Los_Angeles'}}
```
使用QQWry库:
```python
from qqwry import QQwry
# 读取IP库文件,需要先将IP库文件下载并放到指定路径下
ipdb = QQwry()
# 加载IP库文件
ipdb.load_file('path/to/ipdbfile.dat')
# 查询IP归属地
result = ipdb.lookup('8.8.8.8')
print(result)
# 输出:('美国', '加利福尼亚州', 'Mountain View', 'GOOGLE')
```
希望对你有所帮助!