前言
说到网络爬虫,绝大多数人可能想到的都是 python 或者是 C,前者拥有众多的类库、出色的可拓展性等优点,后者拥有杰出的运行效率(对于上亿的 Web 数据量而言,python 和 C 爬虫之前微小的性能差距会被放大数亿倍)。其实,只要是服务器端的脚本语言,都可以用来构建爬虫,php 拥有优秀的运行效率和同样少不的类库,lamp 作为全球使用最广泛的建站全家桶,毋庸置疑有众多的 phper 。
接下来的这几篇文章我将简要地介绍一下如何设计一个产品级的 php 爬虫、如何处理 http 报文响应、编写中需要注意哪些点和一个源码示范
一、设计爬虫需要考虑的地方
1、尊重站长
这一点和代码、规范、设计思想没有任何关系。但是这是我认为最重要的一点,就像我们享受开源的同时也要尊重开源。对于爬虫引起的短时间大量访问、站点错误日志暴增和异常,甚至影响正常访客访问站点,我想几乎没有哪一个站长会为此感到高兴。也就是需要我们创建一个检测表,每隔一段时间爬取同一域下的文件,不要影响人类访客的正常访问。
遵守 robots.txt
2、首先对URI(URL+URN)进行处理
- 因为我们要创建的处理上亿的 Web 页面信息,需要把 URN 也考虑进来