您的位置 首页 php

程序员学网络爬虫之如何破解网站的反爬虫措施

在写网络爬虫时最头疼的问题就是网站方采取了种种措施拒绝网络爬虫的访问,写爬虫的开发者需要用各种手段改进网络爬虫, 以更隐蔽的手段来爬取数据。 下面主要说明下在 scrapy 框架下如何突破网站的反爬虫策略, 其它诸如 python 、php、. net 写的爬虫破解原理是一样的。

  1. 封锁间隔时间破解

    scrapy在两次网页请求之间的时间间隔设置是DOWNLOAD_DELAY,这个值越小,爬取速度越快。 如果不考虑反爬虫因素, 当然设置越小越好。 但只要网站管理员稍微过滤下日志, 就会发现异常, 进而阻止爬虫的访问。 所以如果对爬虫的结果需求不那么急, 那还是把请求时间间隔设置长一点好了。

  2. 封锁 cookies 破解

    我们知道, 网站是通过cookies来确定用户身份的。 爬虫在爬取数据时持续使用同一个cookies发送请求, 也很容易被管理员发现。 不过破解这种原理的反爬虫很简单, 禁用cookies即可。 如scrapy框架中只需在settings.py中设置: COOKIES_ENABLED = FALSE

  3. 封锁user-agent破解

    user-agent是浏览器的身份标识。 网站会通过user-agent来确定浏览器类型。很多的网站都会拒绝不合标准的user-agent请求网页(上篇文章爬取的快代理网站就用的这种反爬虫策略)。爬虫可以通过headers轻易的冒充浏览器访问。 但如果网站将频繁访问网站的user-agent作为反爬虫标志, 又该怎么办呢? 这种情况下就需要准备一堆的user-agent, 在每次请求网页时随机挑选一个 user-agent就可以了。

  4. 封锁IP破解

    在反爬虫原理中, 最容易被发现的实际上是IP。 同一IP频繁快速访问网站, 那基本可以确定是爬虫了。 要破解这种反爬虫措施, 最好的方法就是使用代理了。通过我之前的文章获取到代理IP后可以建立一个代理IP池, 每次请求网页前或每间隔一段时间选择一个随机的代理IP。

以上是常见的集中破解方法, 如有遗漏, 欢迎补充。

文章来源:智云一二三科技

文章标题:程序员学网络爬虫之如何破解网站的反爬虫措施

文章地址:https://www.zhihuclub.com/151720.shtml

关于作者: 智云科技

热门文章

网站地图