|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 gopythoner 于 2017-6-9 16:22 编辑
网络反爬虫通过封IP,这个不用说了,写爬虫的应该都懂
封了IP可以使用代理IP,这个也不用提,直接略过
。。。
好了,直接进入正题,先说一下我做的事情
1、通过免费代理网站爬下大量代理IP
2、通过在访问中添加1中爬下的代理IP去访问某个网站(就是我要爬信息的网站),显示200的表示代理可以用,留着,否则,踢去,之后会得到一个文件,包含了所有能够通过访问的代理IP,暂且称之为IP池吧
3、写了一个爬虫,去爬一个喜欢封IP的网站,然后提取信息。
现在问题来了,我在3中使用2中得到的代理的时候,发现一个问题,就是在2的检测代理可以用性的时候明明这个IP是可以打开网页的,但是到了3中使用的时候这IP就失效了(具体其实也不是失效,就是访问的成功率并不是100%),这就很尴尬了,因为我在3中是把2中的IP池取一部分IP出来形成一个列表随机取一个IP去访问的,但是现在这些IP并不是都能访问成功,这样导致的结果第一会让网页超时,时间很长,浪费时间,第二个就是让我的爬虫爬不到信息,报错(当然我可以使用try语句防止报错,但是这没意义,因为这样虽然不报错但是我也没取到信息)
其实我的想法是,在3的操作中,也有一个判断机制,即当使用某个IP访问页面的时候,如果显示200的话就开始爬信息,如果在设置的超时时间内不显示200的话,就更换一个IP再访问一次这个页面,循环下去,直到访问成功为止,这个思路我是这样想的,但是具体的做法我怎么做好像都不行,有使用代理池经验的可以告知一下我这个疑惑的思路
|
|