爬虫防掉线
2016-01-25 15:21
267 查看
最近爬了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
针对比较机智的服务,如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
相关文章推荐
- MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)
- 学生信息管理系统v1.0
- TortoiseSVN中分支和合并实践
- Notepad++配置Python开发环境
- hook模板x86/x64通用版(1)--x64下的jmp远跳、远call指令
- 内部类
- Spfile、Pfile的修改相关
- OTA和Recovery系统升级流程介绍
- 【慕课笔记】U1 类和对象 第1节 什么是类和对象
- OS
- JavaScript:函数
- AFNetworking 的请求方法
- Linux学习笔记:MySQL主从复制的风险与防范
- 经典opengl
- ios runtime之深入浅出 Cocoa 消息
- Cacti图形数据自动导出脚本(二)
- 磁盘与文件系统管理之二
- 回显是什么鬼?浅谈
- memerched+tomcat 缓存浏览器的session
- 关于viewpoint的疑惑