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


相关文章内容简介
推荐阅读
  • 18 2020-01
    代理ip在电商的应用

    经常使用网络的人都知道代理IP,在搜索引擎随便一搜索就可以找到很多的代理IP,那么是所有的代理IP都是可用的有效的吗?网络上充斥着各种免费代理IP,这里不是说免费的不好,有效的才是王

  • 11 2019-11
    HTTP协议总共有多少个版本?

    HTTP协议总共有多少个版本?这些协议都会在HTTP代理IP中使用到吗?机灵代理下面整理了HTTP协议的介绍带给大家,让我们共同进一步认识HTTP代理。

  • 30 2019-03
    采集旅行路线分分钟的事,就让代理IP配合爬虫行动

    使用代理IP可以做很多的事情,用途广得不得了,如果配合爬虫使用,更是哪里都能去了。那么能不能进行旅行路线的收集分析呢?这当然是可以的了。我们一起去看看.

  • 10 2019-07
    ip获取可以通过api提取ip

    ip获取可以通过api提取ip,这个方法是非常快速的,而且还能获取到大量的ip,推荐找机灵代理的,因为质量非常好。

  • 21 2019-03
    爬虫的IP代理不生效怎么解决?

    爬虫的IP代理不生效怎么解决?我们使用IP代理的时候要考虑到IP代理池中的IP不一定都是有效的,如果出现错误,需要从这方面进入处理。比如切换IP个新的IP使用,并继续处理当前这个URL。如果

  • 01 2019-04
    手机设置http代理之Android版

    很多公共区域都设置了WiFi使用,连办公室也不例外,虽然这是方便了大家的使用,但是由于多人使用,而且其对外的IP都是一致的,做一些测试不太适合。对于这个问题,可以采用http代理来应

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

大客户经理微信

微信公众号

微信公众号

回到顶部