您的位置:首页 > 新闻资讯 >文章内容
动态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代理失效,因此要注意。


相关文章内容简介
推荐阅读
  • 20 2019-03
    怎么设置代理服务器ip,实现自动更换IP的效果

    想要使用代理服务器更换IP地址,大家是从哪里找到代理服务器的?代理服务器是否能实现自动更换IP的效果?大家可以带着问题,跟小编去了解下。

  • 02 2019-08
    爬虫为什么要用第三方ip代理平台

    爬虫为什么要用第三方ip代理平台?因为爬虫只要进行大量的数据采集,这速度是很难控制的,而且还是同IP,这样很容易遇到被禁ip的情况,这个时候你可以找一下代理网站,抓取一下ip,来进

  • 28 2020-02
    ip代理软件的功能是什么

    代理ip的出现,让用户能够享受到一个更加安全便捷的上网环境,通过使用换ip软件,大家能够轻松的解决很多跟ip有关的难题。

  • 20 2019-02
    爬虫的请求头应该怎写不会被发现?

    网站的反爬虫存在于整个爬虫获取数据流程里面,爬虫首先会遇到请求的问题,如果爬虫不伪装浏览器发送请求,那么就会被网站检测到爬虫,从而禁止访问,拒绝返回信息。那么爬虫的请求头

  • 19 2019-12
    使用代理IP需要注意的事项!

    使用代理IP需要注意的事项!使用代理ip​的人现在越来越多,许多用户都喜欢利用代理ip来帮助他们进行营销或者爬虫等等活动,但是在使用的过程当中有许多需要我们注意的事项你又了解吗?机

  • 24 2019-08
    自己的代理IP池要怎么建?

    部分爬虫工作者,或者是某些项目的需求,会对代理的IP的要求比较高。如果是不想代理IP出现问题,那么还是建议建立一个专属于自己的代理IP池,那么具体能够通过什么方式实现呢?

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

大客户经理微信

微信公众号

微信公众号

回到顶部