您的位置:首页 > 新闻资讯 >文章内容
爬虫大规模抓取数据时,学会这几招大大降低风险
来源:互联网 作者: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被封等情况,这是因为爬虫被限制住了,上文主要总结了一些常见的情况及规避的措施。要想顺利的的采集到数据,那么还是要学会上面的几招突破方法


相关文章内容简介
推荐阅读
  • 20 2019-06
    没有突破反爬虫是代理ip质量不行吗?

    没有突破反爬虫是代理ip质量不行吗?爬虫程序有时候突然不工作了,之前明明是可以的,哪里出问题了?

  • 14 2019-05
    HTTP代理对信息抓取的好处

    HTTP代理对信息抓取的好处在哪些?对于在互联网上工作的用户来说,代理IP并不是一种陌生的存在。如果您恰好是一名正在处理代码的专业人士,特别是如果您负责网络爬虫,那么你每天可能都

  • 11 2019-04
    HTTP代理ip伪装用户爬取数据

    网络爬虫通过是采用HTTP代理ip伪装用户爬取数据,因为现在爬数据越来越难了,网站设了各种反爬,太难搞了,还是简单的网站基本没有什么反爬,一般弄些HTTP代理ip就能搞定了。

  • 22 2019-07
    代理IP时效多久?

    代理IP时效多久?初次接触代理IP的朋友会发现,代理IP的时效比较短,有几分钟的,十几分钟的,或者是半小时的等等。很多用户会问,这个时效是什么意思?是怎么计算的,不同时效的单价有

  • 28 2019-04
    QQ浏览器设置HTTP代理

    QQ浏览器设置HTTP代理的方法与其他浏览器设置大致是一样的,如果你还没有学会,可以跟着小编一起来看看的。

  • 26 2020-02
    怎么批量测试代理ip的可用性

    对于使用少量的代理IP,测试可以选择QQ测试的方法,但是大批量的代理IP测试再使用QQ测试就有些费时费力了,批量代理IP测试可以使用下面的方法。

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

大客户经理微信

微信公众号

微信公众号

回到顶部