有效允许访问公开数据安全访问公开数据虫的方法

作者:IPIDEA

2020-09-22 15:39:26

由于现在许多企业都需要大量的数据,所以很多人学习爬虫,爬虫过程中会遇到访问阻碍,不仅会影响服务器,另外也造成一定的竞争,那么爬虫怎么防止访问虫?与IPIDEA一起去了解一下应对访问虫的一些技巧。

 

控制下载频率大规模集中访问对服务器的影响较大,爬虫可以短时间增大服务器负载。这里需要注意的是:设定下载等待时间的范围控制,等待时间过长,不能满足短时间大规模抓取的要求,等待时间过短则很有可能被拒绝访问。在之前“从url获取HTML”的方法里,对于httpGet的配置设置了socket超时和连接connect超时,其实这里的时长不是绝对的,主要取决于目标网站对爬虫的控制。另外,在scrapy爬虫框架里,专有参数可以设置下载等待时间download_delay,这个参数可以设置在setting.py里,也可以设置在spider里。


 9.226.png


IP的访问频率被允许访问公开数据一些平台为了防止多次访问网站,会在某个同一个IP在单元时间内超过一定的次数的时候,将判断IP属性,无法高效采集公开数据这个IP继续访问。对于这个允许访问公开数据IP访问效率,可以使用代理IP的方法来解决问题比如使用IPIDEA

 

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

 

修改User-Agent常见的就是保护安全访问浏览器,修改User-Agent(用户代理)User-Agent是指包含浏览器信息、操作系统信息等的一个字符串,也称之为一种特殊的网络协议。服务器通过它判断当前访问对象是浏览器、邮件客户端还是网络爬虫。在request.headers里可以查看user-agent,关于怎么分析数据包、查看其User-Agent等信息,这个在前面的文章里提到过。

 

具体方法可以把User-Agent的值改为浏览器的方式,甚至可以设置一个User-Agent池(list,数组,字典都可以),存放多个“浏览器”,每次爬取的时候随机取一个来设置request的User-Agent,这样User-Agent会一直在变化,防止被墙。

 

综上所述,爬虫怎么防止访问虫的方法比较多,上文从更全球住宅IP,高效采集公开数据、控制下载频率、分布式爬取、修改User-Agent这四个方面介绍了防止访问虫机制的方法,从而实现数据的爬取。


*ipidea提供的服务必须在境外网络环境下使用

热门资讯