造数 - 这次教教大家专业的爬虫伪装技巧

有些网站会识别访问者是通过浏览器还是爬虫,如果被识别使用的不是浏览器,则会禁止用户在网站上的行为。这也就是放爬虫。

常见的反爬虫机制有:

  1. 分析用户请求的headers信息

  2. 检测用户行为,如短时间内同一个IP频繁访问

  3. 动态加载增加爬虫难度

  4. 验证码反爬虫

  5. 信息需要登录才能显示

打开网易新闻 查看精彩图片

常见的大家可能都见过,那么不常见的呢?

有的网站某些信息是加密的,可能浏览器上看到的是这样,我们复制出来看到的又不一样,这种需要解密;

有的网站会检测用户鼠标移动情况,爬虫肯定是没有鼠标移动的,那么肯定被干掉;

还有就是代理IP,我们都知道网上存在大量代理IP,通过一些网站我们可以拿到免费IP,但是别人网站页可以拿到的,别人拿到这些IP后直接BAN掉,所以失效,需使用更高效的ADSL拨号代理。

还有更变态的是,遇到需要点击某元素才能进行下一步的网站。

打开网易新闻 查看精彩图片

下面说一说使用Python写爬虫时,如何反反爬虫。

1、关于headers

常见的为浏览器加入headers,需要设置Requests Headers里面的内容

打开网易新闻 查看精彩图片

其中的每一个参数都有自己的作用,面对不同的网站时方法也不一样。

常见的就是设置User-Agent,这里推荐一个包fake-useragent

2、关于代理

简单方法就是购买,免费的和收费的相比还是差了不少。

如果想获得免费的可用的代理如何办?

打开网易新闻 查看精彩图片

可以看到在Google上可以看到很多搜索结果,接下来怎么做你懂的。

3、关于Cookie

打开网易新闻 查看精彩图片

请求会返回多个Cookie,我们从其中找到最有效的Cookie,这回极大的提高效率

4、关于Selenium

Selenium可以完美解决反爬,因为它就是一个真实的浏览器在操作,网站没理由把它干掉。

但是也要看到Selenium的缺点,速度慢、效率低是最主要问题。自己写着玩玩可以,但是在真是的应用中,Selenium并不常见。

当然,你可以使用Selenium+Phantomjs,并对其进行优化,速度和别的爬虫还是没法比。

写在最后,爬虫一直是热门话题,今天介绍一些爬虫伪装技巧,若有错误请指出。

若大家觉得自己写爬虫麻烦,也可以来试试我们的产品

造数 - 最酷的智能云爬虫

打开网易新闻 查看精彩图片