getData() Récupère les résultats de la collecte


méthode getData()

valeur de retour : arrayarray

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

原型:

getData($callback = null)

参数: $callback

类型:callback
默认值:null

Obtenez les données de résultat des données de résultat collectées et pouvez traiter davantage les résultats.


Prototype :

getData($callback = null)


Paramètre : $callback

Type : callbackValeur 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
, transformez le code de collection : 🎜
$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
)
**/
完整代码
<?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);
🎜 See More