做爬虫基本永远绕不开代理池,大规模的数据爬取,需要代理池来隐匿自己的真实ip ,否则只能对爬取速度做出妥协。

抛砖引玉,本文粗略记录几种实现匿名访问的方式。

需要付费的,可用性高,稳定

购买代理ip提供商的付费代理ip产品

现在代理ip提供商可谓层出不穷,随便数数就有个十几家。各家基本会推出不同的套餐,价格也是参差不齐。不过,虽然已是付费产品,可用率也不是100%,关于代理ip商及不同套餐的选择,可以参考网上的测评。

ADSL拨号代理

ADSL,全称Asymmetric Digital Subscriber Line( 非对称数字用户线路),亦可称作非对称数字用户环路。 是一种数据传输方式。
动态拨号VPS主机在在上网的时候需要拨号,拨号成功,获取到ip,可以上网。每次断线重拨会随机分配到新的ip,这个ip池的量很大,基本能达到万级,所以无需担心切换到相同ip。这种方式稳定性高,代理速度快,不过每次断线重拨会有耗时。

不需要付费的,稳定性及可用性都较差

从代理ip提供商的开放ip列表爬取

代理ip提供商为了引流,会开放些代理ip在自己的网站上。网上的很多代理池策略就是收集不同网站提供的开放代理,维护自己的代理ip池。不过这种方式获取的代理ip可用性极低,首先端口可能已经不能访问,其次因为大部分人会采用这种方式,导致仅有的一些开放端口已经被封。

Tor网络

Tor是实现匿名通信的自由软件。其名源于“The Onion Router”(洋葱路由器)的英语缩写。
简单来讲,你的请求会在Tor网络节点中进行三次随机跳转,每层加密,到达一个节点就解密一层,就像洋葱一样。因而当前节点只知道相邻的上下节点的信息。目标主机是无法解密出你的真实ip的。这种方式最大的缺点就是慢!

扫描ip,自己维护代理池

代理ip商提供的免费代理大多就是扫描来的,自己扫的话,由于很多都没被开放,所以可用性可能相对较高。目前apnic分配给中国的ipv4代理有3亿4千万左右,对于如此量级的扫描、验证、更新维护,机器性能要求较高。