如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

本篇开始,苏南大叔讲述一下一款国人出品的php库,叫做querylist,可以用于网络数据的抓取。这款querylist,类似于python下的scrapy。当然,在前面的文章中,苏南大叔对scrapy抓取有所介绍。如果您有兴趣,可以通过文末链接,了解更多的相关信息。

php 数据抓取类库 QueryList ,如何安装使用? - querylist
php 数据抓取类库 QueryList ,如何安装使用?(图4-1)

另外,本款querylist是基于开源库phpquery的。如果您有用过phpquery,那么您会在接下来的学习中,会看到一些类似的影子。如果,您也没使用过phpquery的话,那么还是可以对比jquery的,思路都比较类似。好了,就介绍这么多,如果您感兴趣,欢迎查看接下来的querylist系列文章。

官方网站及安装要求

官方网站是:

querylist的要求php版本至少为7.0

php -v

php 数据抓取类库 QueryList ,如何安装使用? - composer-v
php 数据抓取类库 QueryList ,如何安装使用?(图4-2)

苏南大叔的实验过程中的composer的版本是:1.6.5

安装步骤

第一步,安装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

第二步,设置加速composerrepo

这一步并不是必须的,如果在安装querylist的时候,一直没有反应,可以执行这条语句。语句的目的就是给composer换一个快速的国内源,这个就类似于node下面的cnpm

composer config -g repo.packagist composer https://packagist.phpcomposer.com

第三步,安装querylist

在空白文件夹下面,使用composer就可以安装jaeger/querylist

composer require jaeger/querylist

截至到发稿,使用下面的命令可以查看到最新版的querylist的版本号为4.0.3

composer show -i jaeger/querylist

php 数据抓取类库 QueryList ,如何安装使用? - querylist-v
php 数据抓取类库 QueryList ,如何安装使用?(图4-3)

入门范例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;

php 数据抓取类库 QueryList ,如何安装使用? - demo
php 数据抓取类库 QueryList ,如何安装使用?(图4-4)

相关链接

总结

本文中,苏南大叔介绍的querylist,和scrapy是比较类似的。但是querylist是基于php的,这就对于php的忠实用户们是比较有吸引力的。

不过,苏南大叔这边还是给大家一个建议,就是多去尝试一下python。目前的环境下,看起来python系列还是非常有前途的。而且从抓取这件事情上来说,scrapy对于querylist,还是有优势的。好了,就讲这么多。请大家继续关注,苏南大叔的后续文字,感谢您的阅读。

 【querylist】秘籍文章入口,仅传授于有缘之人   querylist    phpquery

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!