由于开python培训有讲过爬虫的缘故,这个问题已经被ask无数次了,一般问的基友也都是爬虫防ban用的,那么在此,我把我个人尝试过的代理渠道都写一下。总体来讲,质量好的都不便宜,便宜的质量都比较渣,一分钱一分货
1)通过程序扫出来的代理
通过程序扫IP段、端口找出来的临时性代理。
诸如百度搜索“HTTP代理”,写着“每日更新”、“国内高匿免费”什么的都是这类,购买的话都很廉价。我用过的有:
西刺(www.xicidaili.com)
快代理(www.kuaidaili.com)
站大爷
云代理(www.ip3366.net)
……
基本都大同小异,没有哪个好那个坏,几个平台提供的代理至少有3成的重复率。
这类代理,有效期都不高,即便批量验证过在使用时还是会废掉一部分,可以应付低效率的采集、刷单次访问量,但是搞别的的还是算了吧
2)ADSL拨号服务器
ADSL拨号,断线重连切IP,淘宝有卖的,限定地区拨号、全国拨号都有。相对较稳定,至少比扫描出来的强很多,但切换IP耗时较长,需要几秒到1分钟之间。
所以如果采集是每访问一次切一次IP的话,效率会很慢,只能等当前IP被对方ban掉的时候在拨号换新的IP。
3)第三方访问
比如通过“谷歌网页翻译”、“有道网页翻译”、“http代理浏览器”等第三方访问渠道请求目标网页。
速度慢,且采集捕获目标内容的时候多了很多干扰。
4)VPN软件
诸如“flyvpn”、“green vpn”,采集是IP被ban了直接换一个,VPN软件本身靠谱代理还是挺稳定的,就是人得在电脑旁边,手动换一次。但是偶尔查查几万关键词的百度排名、几万页面收录,用VPN还是挺悠闲的,这点量级总共也换不了多少次。
5)自建代理
买一台服务器,利用squid stunnel搭建一台HTTP高匿代理服务器,Tinyproxy也行。squit用来实现http代理,stunnel在代理的基础上建一条隧道实现加密。
如果觉得ip数量少,就多买几台服务器,依次配置squid~~
去年接了一个爬虫单子,抓国外某股票网站,共千万页面量级,反爬虫做的挺恶心,无奈买了20台低配机子做HTTP代理服务器,一个月5000成本~~
5)自建代理服务商
如果上面方法自己懒得搞,也没有关系。找个做类似服务的商家,开个api端口即可。
国外的有:
Crawlera ( https://scrapinghub.com/ )
……
国内的有:
阿步云(http://www.abuyun.com/)
鲲鹏代理(http://www.iprent.cn/)
瀚云代理(http://www.ipsproxy.com/)
……
Crawlera和阿步云都用过,除了贵都挺好的,另外在请求频率和并发数上有限制。没办法,要一个ip共享给10个人,每个人并发100,费用又不涨,他们那边得赔死,光带宽费就海里去了。
Done,举铁去了~~