爬虫防掉线

最近爬了amazon,发现以前写的爬虫比较"单薄",爬爬静态站或者ajax传参的网站还可以用,

针对比较机智的服务,如amazon网站,连续访问100多次后爬虫就会经常失败了,

查找了下失败的原因,发现amazon会检测Ip一旦发现请求次数过多,就会跳转到一个检测是否程序在操作的页面,

就是输入验证码的网页,输入正确的验证码后,就可以继续愉快的访问了,搞掉验证码可是个很麻烦的活,执意和验证码作对就是和自己过不去了...

gg了一下方法,整理一下比较好的解决方案.

1.ADSL重启拨号

大家都知道adsl重拨号的话,会换一个新的ip地址,那就可以写脚本设置时间重拨adsl,或者先用爬虫爬着,发现开始跳转到验证码页面了,再调用重拨adsl的脚本

2.爬代理服务器地址

代理服务器也可以比较好的解决ip被屏蔽的问题,相信大家都有比较好的代理服务器网站吧~

代理服务器的网站域名经常更换,我就不提供了,大家自行gg吧,摆渡一下说不定也有惊喜~

写正则爬代理服务器,注意爬完一定要检测一下是否可用!

代码可以参照下面篇博客的checkProxy()函数

https://blog.linuxeye.com/410.html

想了解我的amazon爬虫?

代码在github spider-comments项目下的amazon-spider-comments

https://github.com/fankcoder/spider-comments

原文地址:https://www.cnblogs.com/frankcoder/p/5157561.html