php 数据抓取类库 QueryList ,如何安装使用?
发布于 作者:苏南大叔 来源:程序如此灵动~本篇开始,苏南大叔讲述一下一款国人出品的php
库,叫做querylist
,可以用于网络数据的抓取。这款querylist
,类似于python
下的scrapy
。当然,在前面的文章中,苏南大叔对scrapy
抓取有所介绍。如果您有兴趣,可以通过文末链接,了解更多的相关信息。
另外,本款querylist
是基于开源库phpquery
的。如果您有用过phpquery
,那么您会在接下来的学习中,会看到一些类似的影子。如果,您也没使用过phpquery
的话,那么还是可以对比jquery
的,思路都比较类似。好了,就介绍这么多,如果您感兴趣,欢迎查看接下来的querylist
系列文章。
苏南大叔的实验过程中的composer
的版本是:1.6.5
,php
版本为7.2.1
。
官方网站及安装要求
querylist
是国人作品,其官方网站是:
querylist
的要求php版本至少为7.0
,可以通过下面的命令查看本地php
版本号:
php -v
安装步骤
第一步,安装composer
安装composer
这事,不做过多描述。querylist
的使用,理论上来说,是和composer
联系比较紧密的。composer
的使用相关文章,请参见文末链接。如果您安装过了composer
,可以跳过本步骤。
下面描述的是:mac
下使用命令行语句,安装composer
的范例:
curl -o composer.phar 'https://getcomposer.org/composer.phar'
mv composer.phar /usr/local/bin/composer
chmod 777 /usr/local/bin/composer
相关链接:
第二步,设置全局加速composer
的repo
库
这一步并不是必须的,如果在安装querylist
的时候,一直没有反应,可以执行这条语句。语句的目的就是给composer
换一个快速的国内源,这个就类似于node
下面的cnpm
。
composer config -g repo.packagist composer https://packagist.phpcomposer.com
第三步,安装querylist
在空白文件夹下面,先初始化composer
项目。
composer init
然后使用composer
就可以安装jaeger/querylist
。
composer require jaeger/querylist
安装成功,查看版本号
截至到发稿,使用下面的命令可以查看到最新版的querylist
的版本号为4.0.3
。
composer show -i jaeger/querylist
入门范例demo
下面的语句,是官方给出了的最简单配置。这里,由于篇幅限制,苏南大叔也不做过多的解释说明。
require './vendor/autoload.php';
use QL\QueryList;
$html = <<<STR
<div id="one">
<div class="two">
<a href="http://querylist.cc">QueryList官网</a>
<img src="http://querylist.com/1.jpg" alt="这是图片">
<img src="http://querylist.com/2.jpg" 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::html($html)
->rules($rules)
->query()
->getData();
print_r($data->all());
里面的use
是重点中的重点。新手经常会坑在这里。而autoload.php
,这个是composer
工程的标配。剩下的就是querylist
的相关函数了,在后面的文字中,苏南大叔,会有所详细叙述的。敬请期待。
require './vendor/autoload.php';
use QL\QueryList;
相关链接
- 《win系统,如何安装composer》 https://newsn.net/say/composer-install-win.html
- 《mac系统,如何安装composer》 https://newsn.net/say/composer-install-mac.html
- 《composer的基本使用及加速下载》 https://newsn.net/say/composer-howto.html
- 《scrapy爬虫系列:scrapy入门demo》 https://newsn.net/say/scrapy-demo.html
总结
本文中,苏南大叔介绍的querylist
,和scrapy
是比较类似的。但是querylist
是基于php
的,这就对于php
的忠实用户们是比较有吸引力的。
不过,苏南大叔这边还是给大家一个建议,就是多去尝试一下python
。目前的环境下,看起来python
系列还是非常有前途的。而且从抓取这件事情上来说,scrapy
对于querylist
,还是有优势的。好了,就讲这么多。请大家继续关注,苏南大叔的后续文字,感谢您的阅读。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。