0307 - 爬虫与反爬虫

首先,爬虫是灰色的;其合理利用,取决于爬虫方的心态和能力,也取决于反爬虫的技术。爬虫用的好,可以成就 Google、百度这样的公司;用得不好,可能对别人的利益,造成严重的伤害。

不管怎样,爬虫极其广泛地存在。最近我也接触了一点,简单说说。

先说反爬虫方

保护自己的财产,怎么做都不为过(可能吧)。说一个例子,你在百度搜索页面所做的 任何操作,包括鼠标移动、页面滚动、点击、甚至什么都不做的等待时间,所有这些信息,都会 被百度收集(细思极恐)。其作用可能很多,很重要的一点,就是识别你是人而不是虫子。而你如果是上来就用工具发网络请求,实在太容易被识别了,封不封,也只是看百度心情了。

再来看看爬虫方

关键的一点,是怎么防止被屏蔽。比较简单的,包含控制访问的频率、模拟用户的 Cookie/Refer/Header;进一步的,模拟用户真实行为,等等。

其中很重要一个策略,就是用 大量 IP,频繁更换。怎么得到这许多 IP 呢?

  • 免费、付费的 代理池(听说及自己实测,可靠性并不怎么样)
  • ADSL 一样可以通过拨号动态切换 IP 的服务器(哎,知道 ADSL 的人是真的老了,我也是才知道有这样的服务器…)
  • 也可以结合 家用宽带 自己搭建动态 IP(通过断线重拨的方式切换 IP)
  • 你是土豪,有很多服务器及动态 IP

技术方案的选择,首先要知道有哪些可能的方案,然后在成本等众多限制条件下,寻找最优的;也是件挺有意思的。