python脚本批量查询url归属地
时间: 2023-10-22 10:06:06 浏览: 297
可以使用Python的requests库与ipwhois库来实现批量查询URL的归属地。以下是一个简单的示例代码:
```python
import requests
from ipwhois import IPWhois
urls = ["https://www.baidu.com", "https://www.google.com", "https://www.microsoft.com"]
for url in urls:
# 获取url的IP地址
ip_address = requests.get(f"https://api.ipify.org?format=json&url={url}").json()["ip"]
# 查询IP地址的归属地
ip_info = IPWhois(ip_address).lookup_rdap()
print(f"{url} 的归属地为:{ip_info['asn_description']},{ip_info['asn_country_code']}")
```
这段代码会先使用requests库获取每个URL对应的IP地址,然后用ipwhois库查询该IP地址的归属地。
相关问题
python脚本批量查询url归属地,用汉字输出,写出详细的代码
可以使用第三方库requests和re来实现批量查询url归属地,输出为汉字。以下是示例代码:
```python
import requests
import re
urls = ['http://www.baidu.com', 'http://www.google.com']
for url in urls:
r = requests.get(url)
response_text = r.text
# 使用正则表达式匹配归属地信息
match = re.search(r'本站主数据:(.+?)<', response_text)
if match:
location = match.group(1)
print(f'{url} 的归属地为 {location}')
```
解释一下代码:
1. 首先定义一个urls列表,里面存放要查询的url。
2. 循环遍历urls列表,使用requests库发送请求,获取响应。
3. 使用正则表达式匹配响应中的归属地信息。
4. 如果匹配到了归属地信息,就将其提取出来,并将结果以汉字格式输出。
注意事项:
1. 对于一些特殊的网站,其归属地信息可能会不同,需要适当修改正则表达式。
2. 对于一些无法访问或请求超时的网站,程序可能会崩溃或者无法正常执行。需要添加异常处理来避免这种情况的发生。
阅读全文