需求是这样的: 经常开爬虫扒数据,就买了几台 VPS 当代理节点使用,爬虫工作的时候轮流切换。
分享下我现在的方案:
- 把 VPS 搭建成 HTTP/S 代理;
- VPS 每隔 X 秒重拨 ADSL 一次,并向中央节点提交自己当前的 IP ;
- 中央节点使用 squid 作为反向代理,自动检测当前可用的代理节点,并转发客户端的请求给 VPS ;
- 爬虫在使用的时候只需一次设置 IP:port ,就可以了,剩下的就交给 squid 来管理。
现在几个待解决的问题: 1 。 squid 每次只返回配置里面的第 1 个节点,可能是我配置问题? 2 。 实现 VPS 远程拨号功能,这样就可以按需拨号。可控性就高很多了,毕竟爬虫正在工作的时候, ADSL 重拨会有重新连接的开销。
不知道除了 squid 外,还有没有其它可以实现这样需求的工具
顺便贴下我的 squid 配置,大家可以直接用:
# 这上面的全部用默认的就行了
http_access allow all
....
cache_peer 8.8.8.8 parent 8888 0 no-query no-digest
never_direct allow all