您的位置:首页 > 新闻资讯 >文章内容
爬虫大规模抓取数据时,学会这几招大大降低风险
来源:互联网 作者:admin 时间:2019-01-19 17:38:51

    现在即使是个小网站,网页数量也不少,更比说一些大型的网站了。通常使用爬虫采集数据,都是找一些有价值的网站,这些网站的防御强,如果想顺利的爬取数据,还需要多学几招突破的方法。


    第一招,使用分布式框架


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


    第二招:使用代理IP


    很多网站都有IP限制的,只要是同一个IP,不管怎么换账号也没有用,主要的是换IP。有些网站应对爬虫的策略之一就是直接将IP或者整个IP段都封掉禁止访问,当IP被禁封后,就需要使用代理IP来突破限制了,可以考虑使用机灵代理。


爬虫大规模抓取数据时,学会这几招大大降低风险


    第三招:设置cookies


    cookie其实是储存在用户终端的一些被加密的数据,有些网站通过cookies来识别用户身份,如果某个访问总是高频率地发请求,很可能会被网站注意到,被嫌疑为爬虫,这时网站就可以通过cookie找到这个访问的用户而拒绝其访问。


    但是采集某些网站时cookie是不可或缺的。要在一个网站上持续保持登录状态,需要在多个页面中保存一个cookie。有些网站不要求在每次登录时都获得一个新cookie,只要保存一个旧的已登录的cookie就可以访问。


    第四招:模仿用户行为


    最常见的就是伪装浏览器,修改User-Agent,经常换一换;访问时间间隔设长一点,访问时间设置为随机数;访问页面的顺序也可以随机着来。


    第五招:避开蜜罐


    虽然在进行网络数据采集时用CSS属性区分有用信息和无用信息会很容易(比如,通过读取id和class标签获取信息),但这么做有时也会出问题。如果网络表单的一个字段通过CSS设置成对用户不可见,那么可以认为普通用户访问网站的时候不能填写这个字段,因为它没有显示在浏览器上。如果这个字段被填写了,就可能是机器人干的,因此这个提交会失效。


    这种手段不仅可以应用在网站的表单上,还可以应用在链接、图片、文件,以及一些可以被机器人读取,但普通用户在浏览器上却看不到的任何内容上面。访问者如果访问了网站上的一个“隐含”内容,就会触发服务器脚本封杀这个用户的IP地址,把这个用户踢出网站,或者采取其他措施禁止这个用户接入网站。


    虽然你不太可能会去访问你找到的那些隐含链接,但是在提交前,记得确认一下那些已经在表单中、准备提交的隐含字段的值(或者让Selenium为你自动提交)。


    在爬取数据时难免出现ip被封等情况,这是因为爬虫被限制住了,上文主要总结了一些常见的情况及规避的措施。要想顺利的的采集到数据,那么还是要学会上面的几招突破方法


相关文章内容简介
推荐阅读
  • 29 2020-12
    鉴别ip代理匿名程度

    有些时候我们购买的ip代理怎么来辨别匿名程度怎么样呢?这里有两个办法,可以帮助到大家来进行ip代理的匿名鉴别,下面我们来看看。

  • 23 2019-07
    http代理解决采集太频繁IP被封问题

    http代理解决采集太频繁IP被封问题,可以说http代理时爬虫程序或者爬虫采集工具的必备辅助工具,那么这http代理是怎么用的呢?

  • 16 2019-09
    代理IP除了能够隐藏地址 还有什么用途?

    可能有些对代理IP不太清楚的人会疑惑,平时不用代理IP也能够好好上网啊,也没见出什么事情。的确是,对于只有普通上网浏览、看看视频的网友来说,普通的网络端就能够满足你绝大部分的

  • 23 2019-10
    代理服务器的2个分类

    网络代理,需要通过代理服务器来进行。使用代理服务能够保障我们的网络安全,机灵代理IP下面带来代理服务器的相关介绍。

  • 15 2019-02
    网页提示403错误是什么问题?代理IP能否解决?

    互联网上网的过程中,或许会遇到错误,网页打不开,特别是爬取抓取数据时,更加容易出现403错误。网页提示403错误是什么问题?我们要怎么解决这个问题呢?

  • 05 2019-05
    代理IP的用户人群有哪些?

    代理IP的用户人群有哪些?代理IP一般都是互联网人员使用的,随着网络的各种限制增多,使用代理IP的人员越来越多了,那么都有哪些人需要使用到代理IP呢?一起来看看。

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部