python批量查询ip归属
时间: 2023-07-30 09:09:54 浏览: 124
你可以使用第三方库IPy和requests,代码如下:
```python
import IPy
import requests
ips = ['8.8.8.8', '114.114.114.114', '202.96.209.133']
for ip in ips:
url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip
try:
r = requests.get(url)
json_data = r.json()
if json_data['code'] == 0:
data = json_data['data']
print('{}: {} {}'.format(ip, data['country'], data['region']))
else:
print('{}: {}'.format(ip, json_data['msg']))
except:
print('{}: 查询失败'.format(ip))
```
这里使用了淘宝的IP地址库,可以查询IP地址的归属地信息。你只需要指定要查询的IP地址列表,然后遍历列表,依次查询每个IP地址的归属地信息即可。
相关问题
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归属地 ip138
好的,您可以使用 Python 的 requests 库向 ip138 发送 HTTP GET 请求,然后解析返回的 HTML 页面来获取 IP 地址的归属地信息。以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
ip_address = "202.204.80.112"
url = "http://www.ip138.com/ips138.asp?ip=" + ip_address
response = requests.get(url)
response.encoding = "gb2312"
soup = BeautifulSoup(response.text, "html.parser")
table = soup.find_all("table")[2]
trs = table.find_all("tr")
tds = trs[2].find_all("td")
location = tds[1].text.strip()
print("IP地址:", ip_address)
print("归属地:", location)
```
请注意,这种方法可能不是很可靠,因为它依赖于网站的 HTML 页面结构,而这个结构可能会随着时间的推移而发生变化。如果您需要更可靠的方法,请考虑使用专业的 IP 地址归属地查询 API。
阅读全文