QueryList文档

采集列表页


采集列表页需要用到Query()方法的第三个参数:区域选择器或者叫做切片选择器,指先按照该规则对HTML内容进行切片 ,然后再分别再在这些切片里面进行相关的选择。 当采集列表的时候,建议设置这个参数。


下面以采集CnBate网站的首页文章列表为例,示范如何采集文章列表的文章:标题、链接地址、缩略图、简介。

采集前分析选择器

待采集的目标页面地址:https://www.cnbeta.com ,采集之前需要在浏览器中使用开发者工具来分析要采集的元素的CSS选择器

示例代码

采集代码:
<?php

require 'vendor/autoload.php';

use QL\QueryList;

// 待采集的页面地址
$url = 'https://www.cnbeta.com/';

// 采集规则
$rules = [
    // 文章标题
    'title' => ['a:eq(0)','text'],
    // 文章链接地址
    'link' => ['a:eq(0)','href'],
    // 文章缩略图
    'img' => ['img:eq(0)','src'],
    // 文章简介
    'summary' => ['p:eq(0)','text']
];

// 切片选择器
$range = '.items-area>.item';

$data = QueryList::Query($url,$rules,$range)->data;

print_r($data); 
采集结果:
Array
(
    [0] => Array
        (
            [title] => 看NASA火箭发射系统如何在1分钟内释放出45万加仑的水
            [link] => https://www.cnbeta.com/articles/science/779871.htm
            [img] => https://static.cnbetacdn.com/thumb/mini/article/2018/1022/2313d68aa837a59.png
            [summary] => 据外媒报道,NASA将这个称为是“点火超压保护和降噪冲水散热系统(Ignition Overpressure Protection and Sound Suppression water deluge system)”,那么它究竟是怎么样的呢?请看下面这段视频:
        )

    [1] => Array
        (
            [title] => 日本最具价值科技初创公司创始人:“机器人管家”五年内将能进入市场
            [link] => https://www.cnbeta.com/articles/tech/779869.htm
            [img] => https://static.cnbetacdn.com/thumb/mini/article/2018/1022/d272d6fd91a56cd.png
            [summary] => 据外媒报道,当你想到机器人--那种可能在家里满足你一切需求的机器人--你往往认为那是遥远的未来,你肯定不会想到它能在五年之后出现。日本最具价值的科技初创公司Preferred Networks创始人Toru Nishikawa表示:“我们希望在五年内将这种机器人推向市场并看到它们被使用。十年太长了,不能再等了。”
        )

    [2] => Array
        (
            [title] => YY CEO李学凌自曝在身体植入芯片:为了深度了解自己
            [link] => https://www.cnbeta.com/articles/tech/779867.htm
            [img] => https://static.cnbetacdn.com/thumb/mini/article/2018/1022/92681d656443196.jpg
            [summary] => 欢聚时代(YY)联合创始人、董事长兼CEO李学凌在朋友圈晒出身体植入芯片的经历,并表示这样可以“更好地了解自己”。李学凌称,这是里程碑的一天,未来会有更多的人在身体里植入芯片。李学凌还描述了植入芯片的过程:“很高速地弹射出去,啪的一声就打进去了,没有一点的疼感。”
        )

    // ...

 )