getData() Récupère les résultats de la collecte
méthode getData()
valeur de retour : array
array
获取采集结果数据的结果数据,并可以进一步处理结果。
原型:
getData($callback = null)
参数: $callback
类型:callback
默认值:null
Prototype :getData($callback = null)
Paramètre : $callback
Type : callback
Valeur par défaut : null
Vous pouvez utiliser cette fonction de rappel pour traiter davantage les résultats, remplacer du contenu, compléter des liens, télécharger des images, etc.; Et vous pouvez également utiliser QueyList dans cette fonction de rappel pour effectuer une collection infinie imbriquée.
UtilisationCollecter tous les liens d'images, cible de la collection :
$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); /** 采集结果: Array ( [0] => Array ( [image] => /path/to/1.jpg ) [1] => Array ( [image] => /path/to/2.jpg ) [2] => Array ( [image] => /path/to/3.jpg ) ) **/
Ajouter des exigences
Le tableau de sortie devient un
tableau unidimensionnel$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 ) **/🎜 🎜🎜 Continuez à ajouter des exigences 🎜🎜🎜🎜🎜 Complétez le lien de l'image, modifiez le code de collection : 🎜
$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 ) **/
完整代码🎜 See More
<?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);