最近遇到了一个功能,用PHP实现爬虫功能,采集网页内容并保存到数据库
接下来就写一下我是如何实现的
第一步、我们用composer下载querylist类
composer require jaeger/querylist
第二步、直接在控制器里开鲁
use QL\QueryList;
/**
* 自动采集
*/
public function getArticleContent(){
$urls = $this->request->param('urls');//根据前端传过来的url地址
$ql = QueryList::get($urls);//使用类库解析当前URL地址
$html = $ql->getHtml();//将url地址里的内容解码成HTML代码
$title = QueryList::html($html)->find('.modal-title')->text();//获取html代码里class标签下的文本
$author = QueryList::html($html)->find('.author')->text();
$time = QueryList::html($html)->find('.time')->text();
$content = QueryList::html($html)->find('#datacontent')->text();
$data = [
'title' => $title,
'author' => $author,
'createtime' => $time,
'content' => $content
];
db('gather_article')->insert($data);
$this->success('采集成功');
}
这是一个简单实现的流程。
这里不是所有的网页都可以用,你需要根据自己需求,比如说我要爬取小说,根据小说文章的html里面的标签来自定义获取的文本
以上就是tp5实现爬虫,采集网页内容的功能。
希望对各位老铁有帮助。如果有帮助记得关注收藏。