IP及端口号的获取及保存【实用】
来源:互联网 发布:宁夏干部网络培训平台 编辑:程序博客网 时间:2024/05/21 19:22
import urllib.requestimport reimport osdef url_open(url): res=urllib.request.Request(url) res.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; rv:51.0) Gecko/20100101 Firefox/51.0') req=urllib.request.urlopen(res) html=req.read() return htmldef ip(url,file,count,user_input): try: html=url_open(url).decode('utf-8') except UnicodeDecodeError: html=url_open(url) s=r'(\d+\.\d+\.\d+\.\d+)' d=r'"PORT">(\d*)</td>' ips=re.findall(s,html) #获取IP dk=re.findall(d,html) #获取端口号 dictionary = dict(zip(ips, dk)) #将IP 和端口号压缩成字典 ips = list(dictionary) #获取IP字典的Key值 for ip in ips: #通过遍历Key,取出对应的Value with open(file, 'a+') as f: f.write(ip+' ') #保存IP f.write(dictionary[ip]+'\n')#保存端口号 print('第%s条'%count) count+=1 if count==user_input+1: #用户所需条数控制器 print('获取完成,请到%s文件夹下查看!'%file) break return countif __name__ =='__main__': user_input=int(input('要下载多少条:')) file='D:\My Documents\Desktop\\ips.txt' if os.path.exists(file): pass i=1 #页面循环控制器 count = 1 #IP计数器 while i: try: url = 'http://www.kuaidaili.com/free/inha/%s/'%i count = ip(url,file,count,user_input) if count == user_input+1: break i+=1 except TypeError: #无法解码C++转义字符,跳过当前页 i+=1 continue except urllib.error.HTTPError: #获取网页地址不稳定,时常503 continue
阅读全文
0 0
- IP及端口号的获取及保存【实用】
- java获取服务器的IP及端口
- c#获取IP地址及端口号
- Socket获取客户端IP地址及端口号
- Socket获取客户端IP地址及端口号
- TDI过滤获取IP及端口
- 常用的tcp/ip协议及端口
- android正则表达式获取字符串ip及端口复习
- php获取ip及网址的方法
- sqlServer数据库驱动ip地址及端口的查看
- 正则匹配ip地址端口号 及路径
- 怎样释放获取到的ip地址及重新获取
- 读取pcap文件,过滤非tcp包,获取IP及tcp端口信息
- zookeeper注册服务信息---获取IP地址及空闲端口(nodejs typescrip)
- IPTABLES防火墙&&IP地址及端口过滤
- erlang集群IP及端口管理
- CISCO ACL 限制ip及端口配置
- 通过ip地址及端口连接服务器
- mysql navicat编码保持一致不乱码
- 一个基于UDP的回显C/S(二)
- GSON的坑
- 用原生HTML5控件实现输入框自动提示(下拉列表)
- 精华文章——Web 研发模式演变
- IP及端口号的获取及保存【实用】
- Ef中去重
- java集合框架-ArrayList
- 配置win32控制台输出文本属性
- JPush Android 推送如何区分开发、生产环境
- 实验六:实现二叉树链式存储结构
- Android应用程序启动过程上
- 最新鲜最详细的Android SDK下载安装及配置教程
- validation验证不使用submit的情况