搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > php中文网最新课程 > PHP采集插件QueryList实践教学

PHP采集插件QueryList实践教学

php中文网最新课程 2020-06-12

php中文网最新课程

每日17点准时技术干货分享

PHP采集插件QueryList实践教学

一:需求背景

作为一个开发人员,在日常开发中或多或少多会遇到采集的需求,需要采集某个网站的数据、文章等等,同时在还需要对采集到内容进行解析,分类等操作。在解析分类的过程中,大多数PHPer使用正则的方式来分析爬到的数据,增加了难度的同时效率也没有得到提升,用QueryList则可以很简单的结果问题。

二:什么是QueryList?

QueryList是一个基于phpQuery的开源项目,可以让PHPer在采集信息时对内容进行一个类似JQuery的DOM操作,十分简洁方便,贴合平常开发的习惯。

三:下载安装

(1) 环境要求,安装方式有两种,选中以下任意一种都可以。

PHP >= 5.3

(2) 安装方式-使用composer安装

composer require jaeger/querylist:V3.2.1

或者在项目的composer.json文件中加入以下配置,之后composer update

"require" : {
"jaeger/querylist": "^3.2"
}

安装完成之后在项目中,直接引入vendor/autoload.php文件,即可直接开始使用

(3) 测试

$html = <<<STR
<div id="one">
<div class="two">
<a href="http://querylist.cc">QueryList官网</a>
<img alt="这是图片">
<img alt="这是图片2">
</div>
<span>其它的<b>一些</b>文本</span>
</div>
STR;
$rules = array(
//采集id为one这个元素里面的纯文本内容
'text' => array('#one','text'),
//采集class为two下面的超链接的链接
'link' => array('.two>a','href'),
//采集class为two下面的第二张图片的链接
'img' => array('.two>img:eq(1)','src'),
//采集span标签中的HTML内容
'other' => array('span','html')
);
$data = QueryList::Query($html, $rules)->data;
var_dump($data);

(4) 安装方式-手动安装

前往Github下载代码https://github.com/jae-jae/QueryL,获取其中的QueryList.php和phpQuery.php这两个文件放到项目中即可

(5) 测试

<?php
require 'phpQuery.php';
require 'QueryList.php';
use QL\QueryList;
$hj = QueryList::Query('https://php.cn/',array("url"=>array('.unit h1 a','href')));
$data = $hj->getData(function($x){
return $x['url'];
});
print_r($data);

总结,这个插件下载安装还是很简单的,下期为大家介绍简单的采集文章内容,适合初学者学习,欢迎大家关注,及时收到新课程提醒。

请点击下方:“阅读原文”,在线查看!

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《PHP采集插件QueryList实践教学》的版权归原作者「php中文网最新课程」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注php中文网最新课程微信公众号

php中文网最新课程微信公众号:phpcnnew

php中文网最新课程

手机扫描上方二维码即可关注php中文网最新课程微信公众号

php中文网最新课程最新文章

精品公众号随机推荐