亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

QueryList Collector Development Manual / getData( ) 獲取采集結(jié)果

getData( ) 獲取采集結(jié)果

getData( ) 方法

返回值:array

獲取采集結(jié)果數(shù)據(jù)的結(jié)果數(shù)據(jù),并可以進(jìn)一步處理結(jié)果。

原型:

getData($callback = null)

參數(shù): $callback

類型:callback
默認(rèn)值:null

可以通過這個回調(diào)函數(shù)進(jìn)一步處理結(jié)果,替換內(nèi)容、補(bǔ)全鏈接,下載圖片等等;
并且還可以在這個回調(diào)函數(shù)用使用QueyList進(jìn)行嵌套無限級采集。


用法

采集所有圖片鏈接,采集目標(biāo):

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

添加需求

輸出的數(shù)組變成一維數(shù)組,改造采集代碼:

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

繼續(xù)添加需求

補(bǔ)全圖片鏈接,改造采集代碼:

$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);
/**
采集結(jié)果:
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
)
**/
完整代碼
<?php
require 'vendor/autoload.php';
use QL\QueryList;
$html =<<<STR
   <div class="xx">
       <img data-src="/path/to/1.jpg" alt="">
   </div>
   <div class="xx">
       <img data-src="/path/to/2.jpg" alt="">
   </div>
   <div class="xx">
       <img data-src="/path/to/3.jpg" alt="">
   </div>
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);