Python 爬虫抓取代理IP,并检测联通性
帮朋友抓了一些代理IP,并根据测试联的通性,放在了不通的文件夹下。特将源码分享
注意:
1,环境Python3.5
2,安装BeautifulSoup4 requests
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#-*- coding:gb18030 -*- from bs4 import BeautifulSoup import requests import time import os,sys all_url_add = { 'url2' : 'http://ip84.com/gn/' , } def func(url): r = requests.get(url) content = r.text soup = BeautifulSoup(content, "html.parser" ) ListTable = soup.find_all( "table" , class_ = "list" ) for table in ListTable: ListTr = table.find_all( "tr" ) for tr in ListTr: try : ListTd = tr.find_all( "td" ) ipaddress = str (ListTd[ 0 ].get_text()).strip() port = str (ListTd[ 1 ].get_text()).strip() city = str (ListTd[ 2 ].get_text()).strip().replace( "\n" , "") leixing = str (ListTd[ 3 ].get_text()).strip() xieyi = str (ListTd[ 4 ].get_text()).strip() shudu = str (ListTd[ 5 ].get_text()).strip() time1 = str (ListTd[ 6 ].get_text()).strip() f = open ( "ip" + '.txt' , 'a' ) f.write(ipaddress + ":" + port + '\n' ) f.close() print ( '地址:' + ipaddress + "端口:" + port + "地区:" + city + "类型:" + leixing + "协议" + xieyi + "速度" + shudu + "时间:" + time1) except Exception as e: print (u "-------------------程序异常-----------------------" ) return 'success' print (u '本页抓取结束,正在跳转下一页' ) def pin(): f2 = open ( 'ip.txt' , 'r' ) count = len ( open ( 'ip.txt' , 'rU' ).readlines()) for x in range (count): ip = f2.readline().split( ':' )[ 0 ] return1 = os.system( 'ping -n 5 -w 5 %s' % ip) if return1: print ( '测试失败' ) else : print ( '测试成功,正在写入新文件' ) f3 = open ( 'SuccessIp.txt' , 'a' ) f3.write(f2.readline() + '\n' ) f3.close() f2.close() print ( '程序结束,可用IP已放在SuccessIp中' ) if __name__ = = '__main__' : for x in all_url_add: print (x) for y in range ( 1 , 50 ): url = all_url_add[x] + str (y) print (url) status = func(url) if status = = 'success' : print (y, '页结束' ) print (u '****程序抓取运行结束,正在检查所得IP连通性,请勿关闭窗口*****' ) pin() |
有点乱,有时间将数据存储在数据库,再将这个功能集成在博客当中。
Rex博客保留所有权利
Python 爬虫抓取代理IP,并检测联通性的更多相关文章
- python爬虫爬取代理IP
# #author:wuhao # #--*------------*-- #-****#爬取代理IP并保存到Excel----#爬取当日的代理IP并保存到Excel,目标网站xicidaili.co ...
- python爬虫成长之路(二):抓取代理IP并多线程验证
上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的, ...
- python 爬虫抓取心得
quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quo ...
- Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影)
Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影) ProxyHandler处理(代理服务器),使用代理IP,是爬虫的常用手段,通常使用UserAgent 伪装浏览器爬取仍然可能被网 ...
- Python爬虫----抓取豆瓣电影Top250
有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- python爬虫抓取哈尔滨天气信息(静态爬虫)
python 爬虫 爬取哈尔滨天气信息 - http://www.weather.com.cn/weather/101050101.shtml 环境: windows7 python3.4(pip i ...
- python 爬虫抓取 MOOC 中国课程的讨论区内容
一:selenium 库 selenium 每次模拟浏览器打开页面,xpath 匹配需要抓取的内容.可以,但是特别慢,相当慢.作为一个对技术有追求的爬虫菜鸡,狂补了一些爬虫知识.甚至看了 scrapy ...
- Python 爬虫: 抓取花瓣网图片
接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...
随机推荐
- 简单理解js闭包
什么是闭包?我们先来看一段代码: function a() { var n = 0; function inc() { n++; console.log(n); } inc(); inc(); } a ...
- sqlserver isnull判断
--在新增或编辑的时候设置默认值或加isnull判断 Sql isnull函数 ISNULL(columName, 0)<>35 或 ISNULL(columName, '')<&g ...
- 解决jenkins下使用HTML Publisher插件后查看html报告显示不正常 以jmeter报告为例
jenkins 配置使用html publisher查看jmeter html报告时,发现显示不全,很多东西显示不了. 项目配置: 查看html报告异常(很多资源无法加载): 控制台查看加 ...
- JavaScript深入浅出补充——(二)语句和严格模式,对象
三.语句和严格模式 JavaScript程序由语句组成,语句遵守语法规则. 例如:if语句,while语句,with语句等等-- block块语句 常用于组合0~多个语句,块语句用{}定义 直接以花括 ...
- Spring Security Filter详解
Spring Security Filter详解 汇总 Filter 作用 DelegatingFilterProxy Spring Security基于这个Filter建立拦截机制 Abstract ...
- 从Java熟练到Android入门
刚刚从学校出来,唉,从Java转入Android. 当初老师告诉我们Android不重要,结果,Android的所有课不是在玩手机就是在说话,没认真听也没认真看,作业也没认真做,现在想想好后悔啊,以至 ...
- 关于WIN7 内存占用很大的 问题svchost.exe
svchost.exe 是用来启动系统服务的,所以某个 svchost.exe 占用内存过大,可能就是它启动的那个服务占用内存过大,所以只要停止并禁用那个服务就行了. 一般来说占用内存最大的服务是 S ...
- 微信小程序选项卡功能
首先看看微信小程序上的选项卡的效果 原理呢,就是先布局好(这就不必说了吧),然后在上面的每一个选项卡上都定义一个同样的点击事件,然后给每一个组件上绑定一个唯一的标识符,然后点击事件触发的时候,获取到绑 ...
- HTML5 服务器推送事件(Server-sent Events)
服务器推送事件(Server-sent Events)WebSocket 协议的一种服务器向客户端发送事件&数据的单向通讯.目前所有主流浏览器均支持服务器发送事件,当然除了 Internet ...
- JVM常见垃圾回收算法
jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法.本文将介绍几种常见的垃圾回收(下文简称 ...