PHP爬虫小结

时间:2021-9-6     作者:smarteng     分类: PHP相关


PHP爬虫

现在网络上有很多很多的爬虫了,各式各样的,
但是大家都不太喜欢用PHP来写爬虫,可能是由于不稳定,可以组件库太少,
不管怎么样,PHP写起来还是很简单的。
curl 实现方法
直接采用 PHP curl来抓取数据
socket方法
采用最原始的socket方法,
这里有一个 https://github.com/hightman/pspider 项目,很完善,也是采用了socket方式。
file_get_contents 方法
file_get_contents 方法 ,这个最直接,但是有的虚拟机可能会有限制。
我用的是腾讯云的主机,没有任何限制,就直接用curl方法了
爬取网页步骤
设置种子url,一般都是站点的域名,通过这个主页一步一步抓取
抓取种子url,分析这个页面,获取所有的相关的url,根据是否抓取外站策略来判断url是否入队列,这里队列实现就比较多样化了,可以redis ,也可以数据库,我就直接数据库保存了。
处理url,判断是否是需要抓取的网页
如果是要抓取的网页,处理入库
如果不是,就更新队列
有多个PHP的爬虫推荐:
https://github.com/smarteng/php-crawler
https://github.com/smarteng/pspider
https://github.com/smarteng/skycaiji
https://github.com/smarteng/QueryList
这里重点说一下第一个:
一个用PHP实现的轻量级爬虫,只提供了爬虫最核心的调度功能,所以整体实现非常精简,使用也非常简单并且易于上手。
特点
轻量级,内核简单非常易于上手
基于Redis的调度插件支持分布式以及断点抓取
易扩展易定制,可以随时按照自己的需求定制调度插件

标签: 爬虫