您好,欢迎来到万变代理 会员登录 免费注册

注意: 本站不提供境外服务

图片描述
当前位置:万变代理 » 使用帮助 » 使用教程 » 5个技巧防止网站爬虫被墙,高效获取大批量数据

5个技巧防止网站爬虫被墙,高效获取大批量数据

万变代理2019-01-04 14:03:15

网络爬虫的意义就是大量地、长期地读取数据,不过,总采用一个IP去爬网站,大量集中化对网络服务器访问,时间一长就有可能被拒绝,网络爬虫长期抓取网络数据,还可能会要求验证码,就算是多个账号交替抓取依然会出现要求输入验证码的情况。下面五个技巧教你彻底解决和防止这些其问题。

 

防止网站爬虫被墙

 

反网络爬虫实用技巧


技巧一:设置下载等待时间/下载频率


规模化密集访问对网络服务器的影响很大,网络爬虫可以短期内扩大服务器负荷。这里需要特别注意的是:设置下载等待时间的范围控制,等待的时间太长,不可以满足短期内大量爬取的要求,等待的时间过短则很有可能被拒绝访问。
1. 在以前“从url获取HTML”的具体方法里,对于httpGet的配置设定了socket请求超时和连接connect请求超时,其实这里的时长并不是绝对的,主要取决于目标网站对网络爬虫的控制。
2. 另外,在scrapy网络爬虫框架结构里,专有参数可以设置下载等待的时间download_delay,这个参数可以设置在setting.py里,也可以设置在spider里。


技巧二:修改User-Agent


最普遍的就是伪装浏览器,更改User-Agent(用户代理)。User-Agent就是指包括浏览器信息、操作系统信息等的一个字符串,也称作一种特殊的网络协议。具体做法可以把User-Agent的值改成浏览器的方式,乃至可以设定一个User-Agent池(list,数组,字典都可以),储存多个“浏览器”,每一次抓取的时候随机数取一个来设置request的User-Agent,这样User-Agent会一直在变化,避免被墙。


技巧三:设置cookies


cookie其实是存储在用户终端的一些被数据加密的数据,有些网站通过cookies来鉴别用户真实身份,假如某个访问老是高频率地发请求,很可能会被网站注意到,被嫌疑为网络爬虫,这时候网站就可以通过cookie找到这个访问的用户而拒绝其访问。 可以自定义设定cookie管理策略(防止cookie rejected问题:拒绝写入cookie)或是禁止cookies。


1. 自定义设定cookies策略(预防cookierejected问题,拒绝写入cookie) 设定具体方法其实都大同小异,因为HttpClient-4.3.1组件版本跟以前旧版本的不同,写法也有有所不同。


2. 禁止cookies 通过禁止cookie,这是客户端主动阻止网络服务器写入。禁止cookie可以防止可能使用cookies识别网络爬虫的网站来ban掉我们。 在scrapy网络爬虫中可以设定COOKIES_ENABLES= FALSE,即不启用cookies middleware,不向web server发送cookies。


技巧四:分布式爬取


分布式抓取的也有很多Githubrepo。基本原理主要是维护一个所有集群机器可以有效分享的分布式队列。
采用分布式抓取还有另外一个目的:大规模爬取,单台机器的负载很大,更何况速度比较慢,多台机器可以设定一个master管理多台slave去同时爬取。


技巧五:修改IP


其实微博识别的是IP,并不是账号。换句话说,当需要连续爬取好多网络数据的时候,仿真模拟登陆没有实际意义。只要是相同IP,无论怎样换账号都没有用,主要的是换IP。
web server应对网络爬虫的策略之一就是直接将IP或是整个IP段都封掉禁止访问,当IP被禁封后,转换到其他IP继续访问即可。方法:代理IP、本地IP数据库(使用IP池)。


以上就是5个防止网络爬虫被墙的技巧,希望可以对你们抓取大批量网络数据提供帮助。万变云代理IP旨在为各行业提供最优质的网络服务,我们可以为您提供海量IP资料,为您量身打造行业资讯推荐、软件使用技巧,更有专业人士为您定制IP服务。


相关栏目推荐:

套餐购买:http://member.wanbiandata.com/shop.html#/line/share

软件下载:http://www.wanbiandata.com/?page_id=235

软件介绍:http://www.wanbiandata.com/?page_id=233

上一篇:网络爬虫采集的基本概念及流程是什么?

下一篇:网络爬虫如何解决网页重定向问题?

在线客服

QQ咨询

上班时间