爬虫防掉线

最近爬了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

爬虫防掉线的相关文章

如何让你的scrapy爬虫不再被ban之二(利用第三方平台crawlera做scrapy爬虫防屏蔽)

我们在做scrapy爬虫的时候,爬虫经常被ban是常态.然而前面的文章如何让你的scrapy爬虫不再被ban,介绍了scrapy爬虫防屏蔽的各种策略组合.前面采用的是禁用cookies.动态设置user agent.代理IP和VPN等一系列的措施组合来防止爬虫被ban.除此以外官方文档还介绍了采用Google cache和crawlera的方法.这里就着重介绍一下如何利用crawlera来达到爬虫不被ban的效果.crawlera是一个利用代理IP地址池来做分布式下载的第三方平台,除了scrap

Python爬虫防封杀方法集合

Python 2.7 IDE Pycharm 5.0.3 前言 在爬取的过程中难免发生ip被封和403错误等等,这都是网站检测出你是爬虫而进行反爬措施,这里自己总结下如何避免 方法1:设置等待时间 有一些网站的防范措施可能会因为你快速提交表单而把你当做机器人爬虫,比如说以非常人的速度下载图片,登录网站,爬取信息. 常见的设置等待时间有两种,一种是显性等待时间(强制停几秒),一种是隐性等待时间(看具体情况,比如根据元素加载完成需要时间而等待) 1.显性等待时间 import time#导入包 ti

python 爬虫 黑科技

1.最基本的抓站 import urllib2 content = urllib2.urlopen('http://XXXX').read() 2.使用代理服务器 这在某些情况下比较有用,比如IP被封了,或者比如IP访问的次数受到限制等等. 1 2 3 4 5 import urllib2 proxy_support = urllib2.ProxyHandler({'http':'http://XX.XX.XX.XX:XXXX'}) opener = urllib2.build_opener(p

python数据挖掘第二篇-爬虫

python爬虫 urllib用法 eg1: from urllib import request data = request.urlopen(urlString).read()?# data获取的是该网页的所有源码内容 data=data.decode("utf-8")?# 对data编码 import re pat='<div class="name">(.*?)</div> res = re.findall(pat,data)?# r

Python爬取CSDN博客文章

之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

SecureCRT - 使用方法和技巧

1. 保活防掉线选项 -> 会话选项 -> 终端勾选 自动重新连接, 发送协议 NO-OP 每60秒 2. 拷贝与粘贴的设置选项 -> Global options -> Terminal -> Mouse 选中Copy on select 和 Paste on midlle button另外可以设置使用Windows下的拷贝粘贴快捷键,Options => Global ptions => General => Default Session =>

DTU

DTU 编辑 DTU (Data Transfer unit),是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备.DTU广泛应用于气象.水文水利.地质等行业. DTU同时也是世界顶尖理工大学丹麦技术大学 (Technical University of Denmark) 的英文简称. 中文名 数据传输单元 外文名 Data Transfer unit 英文简称 DTU 性    质 无线终端 中文名2 丹麦技术大学 目录 1 数据传输单元(DTU

DTU 功能

DTU 功能 简介: DTU (Data Transfer unit)全称数据传输单元,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备. Winer WCTU 3121主要是运用于物联网通信行业的一种无线数据传输终端,是厦门为那通信科技有限公司自主开发的DTU系列产品之一,WCTU 3121是一款2G GPRS DTU产品,通过利用中国移动.中国联通的GPRS 2G网络为用户提供无线长距离的数据传输功能.WCTU 3121 支持完整的TCP/I

关于zigbee与WBee的主要区别

ZigBee是一种基于IEEE802.15.4的低功耗.低传输速率.架构简单的短距离无线通信技术,它在自动控制领域的应用正越来越引起业界的瞩目.工业自动化领域里主要应用在电力,水利,医疗等行业,未来更趋向物联网,目前许多智能家居设备通过zigbee网络和手机连接 更能起到无线控制状态.     由于距离问题常常很浪费路由转发节点,造成资源浪费.解决这个难题,厦门为那的一款叫WBee的产品,采用433MHZ的国际免认证标准已经诞生,他将改变工业自动化领域zigbee传输距离达到数公里级别. 工业级