QueryList Collector Development Manual /getData( ) 获取采集结果

getData( ) 获取采集结果

getData( ) 方法

返回值:array

获取采集结果数据的结果数据,并可以进一步处理结果。

原型:

getData($callback = null)

参数: $callback

类型:callback
默认值:null

可以通过这个回调函数进一步处理结果,替换内容、补全链接,下载图片等等;
并且还可以在这个回调函数用使用QueyList进行嵌套无限级采集


用法

采集所有图片链接,采集目标:

$html =<<  
STR;
$data = QueryList::Query($html,array( 'image' => array('.xx>img','data-src') ))->getData(function($item){ return $item; }); print_r($data); /** 采集结果: Array ( [0] => Array ( [image] => /path/to/1.jpg ) [1] => Array ( [image] => /path/to/2.jpg ) [2] => Array ( [image] => /path/to/3.jpg ) ) **/

添加需求

输出的数组变成一维数组,改造采集代码:

$data = QueryList::Query($html,array( 'image' => array('.xx>img','data-src') ))->getData(function($item){ return $item['image']; }); print_r($data); /** 采集结果: Array ( [0] => /path/to/1.jpg [1] => /path/to/2.jpg [2] => /path/to/3.jpg ) **/

继续添加需求

补全图片链接,改造采集代码:

$baseUrl = 'http://xxxx.com'; $data = QueryList::Query($html,array( 'image' => array('.xx>img','data-src') ))->getData(function($item) use($baseUrl){ return $baseUrl.$item['image']; }); print_r($data); /** 采集结果: Array ( [0] => http://xxxx.com/path/to/1.jpg [1] => http://xxxx.com/path/to/2.jpg [2] => http://xxxx.com/path/to/3.jpg ) **/
完整代码
require 'vendor/autoload.php';
use QL\QueryList;
$html =<<









STR;
$baseUrl = 'http://xxxx.com';
$data = QueryList::Query($html,array(
'image' => array('.xx>img','data-src')
))->getData(function($item) use($baseUrl){
return $baseUrl.$item['image'];
});
print_r($data);