对于很多小站长来说,刚好又只会php,又需要大量频繁抓取某网站数据,此时,必须得有代理支持才能避免被相应网站屏蔽。
笔者当时做小说站时,正是碰到了这种情况,网站大家可以参考:https://loob.cc,https://txt2.cc。这些数据的来源都是其它小说站,有些小说站的防御做的比较好,毕竟流量费贵,给爬虫消耗大量的流量会很不值得。
先架构抓取程序,这块可以用phpQuery进行页面解析。这样会大大提升自己的开发速度,集中精力解决页面结构。
代理获取可以从目前比较大的代理网站获取,比如西西代理。
其实每天这些免费代理网站放出来的代理质量不是很高,需要进行质量检测。大家可以通过去抓取百度的robots.txt文件或者其它什么文件进行验证。据说每天可用代理量才几百个,可谓珍希。
可用代理可能性能不好或者说某段时间就不能用了。这时候需要有一套比较好的评分机制。我这里是参考的github上的ip-proxy-pool代理池来写的。原理就是抓取失败的代理我就给它扣一分,初始值给10分,扣到0分就丢弃此代理。
大家如果是做小说站,可以参考我的技术博客:molis.cc,可以一起交流