您的位置:首页 > 新闻资讯 >文章内容
动态ip代理解决不了抓取问题,哪里出问题了?
来源:互联网 作者:admin 时间:2019-03-20 16:43:09

  网络爬虫配上动态IP代理,基本上都能顺利的抓取到信息,因为使用了动态IP代理就可以解决频率限制的问题,可以一直进行数据的抓取工作。但有时候,即使使用了动态IP代理,还是出问题了,到底哪里出问题了?


  1.从用户请求的Headers反爬虫是最常见的反爬虫策略。很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。


  解决方案:伪装成浏览器去访问网页资源,因此只需要在http请求头加上头信息即可。


  2.还有一部分网站是通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。


  解决方案:大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。可以专门写一个爬虫,爬取网上公开的代理ip,检测后全部保存起来。这样的代理ip爬虫经常会用到,最好自己准备一个。有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib2中很容易做到,这样就能很容易的绕过第一种反爬虫。使用代理IP步骤如下图:


动态ip代理解决不了抓取问题,哪里出问题了?


  如下代码,百度的三个代理,使用ip代理。


动态ip代理解决不了抓取问题,哪里出问题了?


  对于第二种情况,可以在每次请求后随机间隔几秒再进行下一次请求(time.sleep函数)。有些有逻辑漏洞的网站,可以通过请求几次,退出登录,重新登录,继续请求来绕过同一账号短时间内不能多次进行相同请求的限制。


  3.另外一种比较常见的反爬虫模式当属采用JS渲染页面了。什么意思呢,就是返回的页面并不是直接请求得到,而是有一部分由JS操作DOM得到,所以那部分数据我们也拿不到咯。


  解决方案:用js引擎渲染;另一种就是分析js获取数据的接口,分开获取。


  4.最为经典的反爬虫策略当属“验证码”了。因为验证码是图片,用户登录时只需输入一次便可录成功,而我们程序抓取数据过程中,需要不断的登录,手动输入验证码是不现实的,所以验证码的出现难倒了一大批人。


  解决方案:验证码识别工具,或者人工打码。


  5.还有一种比较普通的反爬虫策略:通过cookie限制抓取信息,比如我们模拟登陆之后,想拿到登陆之后某页面信息,千万不要以为模拟登陆之后就所有页面都可以抓了,有时候还需要请求一些中间页面拿到特定cookie,然后才可以抓到我们需要的页面。


  解决方案:要在一个网站上持续保持登录状态,需要在多个页面中保存一个cookie。有些网站不要求在每次登录时都获得一个新cookie,只要保存一个旧的“已登录”的cookie就可以访问。如果你在采集一个或者几个目标网站,建议你检查这些网站生成的cookie,然后想想哪一个cookie是爬虫需要处理的。有一些浏览器插件可以为你显示访问网站和离开网站时cookie是如何设置的。


  当动态ip代理解决不了抓取问题时,我们需要考虑其他的反爬虫,比如上文介绍的这些反爬虫,如果其中一个出现问题,也会暴露的,导致动态ip代理失效,因此要注意。


相关文章内容简介
推荐阅读
  • 05 2019-02
    python爬虫解决验证码问题的三种方法

    爬虫经常遇到网站的反爬虫,比如IP限制,可以使用代理精灵的海量IP来解决限制,但是对于验证码限制,大家又是怎么突破这个限制的呢?

  • 09 2020-01
    代理ip​能否反爬虫?

    代理ip​能否反爬虫?选择基本每个网站都有反爬虫机制的存在,一般来说最常见的反爬虫措施就是通过ip限制来实现,禁止某个ip地址的访问来保护网站的安全。既然大部分网站的机制都是通过ip

  • 16 2019-01
    网络爬虫怎么预防被封杀

    都知道网站是有反爬虫机制的,对于这些机制,网络爬虫就只能进行突破,否则无法成功的获取到数据,同时也要注意伪装好自己的数据,预防被封杀。这网络爬虫怎么预防被封杀的呢?

  • 29 2019-08
    代理IP助你解决反爬虫策略

    现在,反爬虫是越来越严,不少人在吐槽现在爬虫不好做。面对平台的反爬虫规则,我们是一点办法都没有了吗?显然不是的,代理IP这就告诉你,怎么样可以减少被封的几率。

  • 26 2019-06
    用socks5代理的设置测试

    用socks5代理的设置测试,使用socks5代理的用户不多,远不如HTTP代理的使用范围广的。如果需要使用socks5代理,也是需要进行设置测试才能正式使用的,下面介绍几个工具设置测试socks5代理:

  • 25 2019-09
    使用代理IP制作刷票系统(中)

    使用代理IP制作刷票系统(上)文章里面已经将系统的框架介绍完毕了,剩下的就是重头戏,代码部分了。由于代码部分的篇幅占据比较长,为了优化大家的阅读,机灵代理会划分为两个部分,这

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

大客户经理微信

微信公众号

微信公众号

回到顶部