酷笔记 > QueryList采集器开发皇冠体育是干嘛的|免费注册 > 5-4递归多级采集

递归多级采集


说明

可以在getData()方法中多次调用QueryList来实现递归多级采集。

示例

PHP
require?'QueryList/vendor/autoload.php';
use?QL\QueryList;
//获取每个li里面的h3标签内容,和class为item的元素内容
$HTML?=<<
????????
    ????????????
  • ??????????????

    xxx

    ?????????????? ????????????????item1
????????????????item2
??????????????
???????????? ?????????????
  • ??????????????

    xxx2

    ?????????????? ????????????????item12
  • ????????????????item22
    ??????????????
    ???????????? ???????? ???? STR; $data?=?QueryList::Query($html,array( ????????'title'?=>?array('h3','text'), ????????'list'?=>?array('.list','html') ????),'#demo?li')->getData(function($item){ ????$item['list']?=?QueryList::Query($item['list'],array( ?????????????'item'?=>?array('.item','text') ????????))->data; ????return?$item; }); print_r($data); /** ?结果: ?Array ( ????[0]?=>?Array ????????( ????????????[title]?=>?xxx ????????????[list]?=>?Array ????????????????( ????????????????????[0]?=>?Array ????????????????????????( ????????????????????????????[item]?=>?item1 ????????????????????????) ????????????????????[1]?=>?Array ????????????????????????( ????????????????????????????[item]?=>?item2 ????????????????????????) ????????????????) ????????) ????[1]?=>?Array ????????( ????????????[title]?=>?xxx2 ????????????[list]?=>?Array ????????????????( ????????????????????[0]?=>?Array ????????????????????????( ????????????????????????????[item]?=>?item12 ????????????????????????) ????????????????????[1]?=>?Array ????????????????????????( ????????????????????????????[item]?=>?item22 ????????????????????????) ????????????????) ????????) ) ?*/
    上一篇:
    下一篇: