动态网页抓取(网站如何设置反爬虫,爬虫又该如何应对?(图))

优采云 发布时间: 2022-01-23 09:03

  动态网页抓取(网站如何设置反爬虫,爬虫又该如何应对?(图))

  有爬虫,自然就有反爬虫。网站越成熟,它的反爬机制就越完善。初始IP限制、验证码限制等限制,今天就来了解一下网站 反爬虫如何设置,爬虫应该如何应对。

  

  网站的反爬虫策略有哪些以及如何应对

  1、用户行为反爬虫

  网站的一部分是通过检测用户行为,比如同一个IP在短时间内多次访问同一个页面,或者同一个账号在短时间内多次执行相同的操作。

  大多数网站都是前一种情况,使用IP代理就可以了。检测后我们可以将代理IP保存在文件中,但是这种方法不可取,代理IP失败的可能性非常高,所以从真实的专用代理IP网站中抓取是个不错的选择时间。

  对于第二种情况,下一个请求可以在每个请求之后以几秒的随机间隔发出。一些有逻辑漏洞的网站可以通过多次请求、注销、重新登录、继续请求的方式绕过同一账号短时间内不能多次请求的限制。

  还有就是对于cookies,通过检查cookies来判断用户是否是合法用户,网站需要登录的人经常会用到这个技术。更深入地讲,一些 网站 登录会动态更新身份验证。登录时会随机分配用于登录认证的authentication_token,并将authentication_token连同用户提交的登录名和密码一起发送回服务器。

  

  网站的反爬虫策略有哪些以及如何应对

  2、通过Headers反爬虫

  反爬取用户请求的头部是最常见的反爬取策略。很多网站会检测Headers的User-Agent,有的网站会检测Referer(有些资源的防盗链网站就是检测Referer)。

  如果遇到这样的反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值改为目标网站域名。对于检测Headers的反爬虫,在爬虫中修改或添加Headers可以很好的绕过。

  3、限制对某些 IP 的访问

  免费代理 IP 可以从许多 网站 处获得。由于爬虫可以使用这些代理 IP 进行 网站 的爬取,所以 网站 也可以使用这些代理 IP 进行反向限制。IP 保留在服务器上,以限制使用代理 IP 进行爬取的爬虫。

  

  网站的反爬虫策略有哪些以及如何应对

  4、动态页面的反爬虫

  有时候抓取目标页面,发现关键信息内容是空白的,只有frame code,这是因为网站的信息通过用户Post的XHR动态返回内容信息,解决这个问题的方法是通过开发者工具(FireBug等)分析网站流,找到单独的内容信息请求(如Json),爬取内容信息,获取需要的内容。

  稍微复杂一点的是动态请求是加密的,无法解析参数,所以无法爬取。在这种情况下,可以使用 Mechanize 和 selenium RC 调用浏览器内核,就像使用浏览器上网一样,可以最大限度地捕获成功,但效率会降低。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线