Python 代码实现 iP地址归属地查询
主要使用站长工具爬取,仅用于学术研究,勿用于商业场景
import re
import requests
import time
url = "http://ip.tool.chinaz.com/"
rg=r'<em>[-*\u4E00-\u9FA5A-Za-z0-9_& ]*?<\/em>'
burn = [r'<em>', r'</em>']
def getIP(ipstr):
while True:
res = requests.get(url+ipstr)
for i in re.findall(rg, res.text):
for j in burn:
i = i.replace(j, '')
return i
time.sleep(1)
利用Flask服务器日志查看后台访问IP的地址及其次数
# 运行参考
# PS F:\Output\IPco> python .\fresh.py .\1.txt
import re
import pprint
import sys
name=sys.argv[1]
rg = r'\n(?:[0-9]{1,3}\.){3}[0-9]{1,3} \- \- \['
burn = ['\n', ' - - [']
allIP = []
with open(name, 'r', encoding='utf8') as f:
for i in re.findall(rg, f.read()):
for j in burn:
i = i.replace(j, '')
allIP.append(i)
import collections
# allIP = list(set(allIP))
allIP = dict(collections.Counter(allIP))
allIP = list(allIP.items())
allIP.sort(key=lambda x: -x[1])
import requests
import time
url = "http://ip.tool.chinaz.com/"
rg=r'<em>[-*\u4E00-\u9FA5A-Za-z0-9_& ]*?<\/em>'
burn = [r'<em>', r'</em>']
def getIP(ipstr):
while True:
res = requests.get(url+ipstr)
for i in re.findall(rg, res.text):
for j in burn:
i = i.replace(j, '')
return i
time.sleep(1)
# print(getIP("119.90.42.91"))
for ipS, cou in allIP:
print(f"{cou}\t{ipS}\t{getIP(ipS)}")
A geek and poetry lover.
分类:
计算机网络
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)