您的位置 首页 php

超级好用和简单的PHP多线程爬虫

提到爬虫,我猜几乎所有人都会第一时间想到python,其实用PHP来爬虫也是很简单和方便的,特别是用惯了PHP的人,毕竟PHP号称“世界上最好的语言”,如果爬虫都不行,那岂不是很尴尬!

爬虫的实质就是获取特定网址返回的内容,并进行内容解析,提取自己需要的内容。对应到技术方案上,推荐用curl进行网络请求,用simple_html_dom进行html解析,文档地址:,效率方面,天下武功唯快不破,所以还得多线程加持,才能更好地完成爬虫任务,不然需要爬的内容稍微多点,就得好几天才能完成,那太浪费时间了和电费了。

PHP多线程估计用的人很少,甚至可能很多人还认为PHP不支持多线程。这里推荐一个我自己用得很爽的扩展:paralell,这个扩展使用很简单,但是网上能搜到的相关分享很少,加上PHP官网上也是全英文介绍,所以刚开始用起来估计有点摸不着头。

安装和使用方面推荐这个网友的分享,其实不难,因为本来就很简单。

看完以上文章,大概有头绪了,就可以进行改造了,大概思路是将所有要爬取的网址用数组A保存,再创建一个future数组B启动运行(这个数组包含run函数及一个运行状态字段),这个数组记录正在运行中的所有线程,使用array_reduce函数监控线程是否执行完毕,在一个线程结束后unset A数组对应元素,并unset B数组对应元素,紧接着开启一个线程,直到A数组为空。这样可以保证同时运行一定数量的线程,提高效率,网页内容不大的话,同时运行几百个线程都没有问题。

文章来源:智云一二三科技

文章标题:超级好用和简单的PHP多线程爬虫

文章地址:https://www.zhihuclub.com/151452.shtml

关于作者: 智云科技

热门文章

网站地图