最近爬了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
时间: 2024-10-08 19:12:01