python批量获取IP地址并查询其归属地
时间: 2024-01-07 10:04:26 浏览: 93
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
可以使用 Python 的 requests 库和 BeautifulSoup 库来实现批量获取 IP 地址并查询其归属地。具体实现步骤如下:
1. 定义一个函数,输入参数为 IP 地址列表,输出为 IP 地址对应的归属地信息列表。
2. 在函数内部遍历 IP 地址列表,对每个 IP 地址发送 HTTP 请求,获取响应内容。
3. 使用 BeautifulSoup 库解析响应内容,获取 IP 地址对应的归属地信息。
4. 将归属地信息添加到结果列表中,最后返回结果列表。
下面是代码示例:
```python
import requests
from bs4 import BeautifulSoup
def get_location(ip_list):
result = []
for ip in ip_list:
url = "https://ip.tool.chinaz.com/" + ip
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
location = soup.find_all('span', attrs={'class': 'Whwtdhalf w50-0'})
result.append(ip + " " + location[1].text.strip())
return result
```
在上述代码中,使用 requests 库发送 HTTP 请求,获取网页的 HTML 内容。使用 BeautifulSoup 库解析 HTML 内容,获取 IP 地址对应的归属地信息。最后将 IP 地址和归属地信息拼接成一个字符串,添加到结果列表中。
阅读全文