如何使用thinkphp5开发一个采集工具

来源:互联网 发布:辽宁省软件行业协会 编辑:程序博客网 时间:2024/05/29 05:54

最近做了一个小站http://www.doc5.cn ,需要用到一个采集工具,看了看网上有不少介绍蜘蛛程序试用了一下都不太满意,就想自己开发一个。

工欲善其事必先利其器,既然要开发采集程序就要先把材料准备好,composer真是个好东西,让你可以充分利用已有资源不需要事事自己动手。

tp5提供了一个队列模块think-queue,虽然有些瑕疵不过好在和tp融合的比较好,直接拿过来使用: 


composer require topthink/think-queue
这个如何使用的可以在github上搜索到,有一个详细的介绍这里不详细介绍了,
队列准备好了我们需要一个http工具用来抓取内容,以前一直用snoopy,可是使用过程中发现不少问题,后来找到一个轻量级的http工具功能还很强大,直接拿来使用

composer require yurunsoft/yurun-http

具体用法同上在github中搜索


队列有了,http工具有了,剩下的就是html的解析工具了,网上提到的有phpquery和querypath两种php仿jquery的dom操作工具,一开始我用了phpquery因为网上推荐较多而且名字起得也不错,但是用了一段时间发现这个项目已经没人维护了,而且代码有不少bug,后来就改用querypath果然问题少多了。

composer require querypath/QueryPath

’再次感叹composer真的好啊。

当然querypath不是万能的很多时候我们需要的数据是在js代码里需要分析js才能获取到这时候还是要用到 正则表达式。


有了上面工具我们就万事俱备了,具体如何写一个采集系统呢,我们下次接着介绍.