Commencer


Pour utiliser QueyList, il vous suffit d'écrire une base de règles, puis de transmettre la base de règles à la méthode statique Query de QueryList. QueryList collectera automatiquement tout le contenu en fonction de la base de règles. La base de règles est écrite avec jQuery. sélecteur, alors utilisez L'ensemble du processus de QueryList est très simple !

Les règles d'écriture de la base de règles sont les suivantes (mode simple) :

$rules = array(
   '规则名' => array('jQuery选择器','要采集的属性'),
   '规则名2' => array('jQuery选择器','要采集的属性'),
    ..........
);

Essayons-le :

  1. Cible de la collection, l'extrait de code suivant
$html = <<<STR
<div id="one">
   <div class="two">
       <a href="http://querylist.cc">QueryList官网</a>
       <img src="http://querylist.com/1.jpg" alt="这是图片">
       <img src="http://querylist.com/2.jpg" alt="这是图片2">
   </div>
   <span>其它的<b>一些</b>文本</span>
</div>        
STR;

2. Écrivez les règles de la collection

$rules = array(
   //采集id为one这个元素里面的纯文本内容
   'text' => array('#one','text'),
   //采集class为two下面的超链接的链接
   'link' => array('.two>a','href'),
   //采集class为two下面的第二张图片的链接
   'img' => array('.two>img:eq(1)','src'),
   //采集span标签中的HTML内容
   'other' => array('span','html')
);

3. Commencez à collecter

$data = QueryList::Query($html,$rules)->data;
//打印结果
print_r($data);


Les résultats sont les suivants :

Array
(
   [0] => Array
       (
           [text] => 
       QueryList官网
   其它的一些文本
           [link] => http://querylist.cc
           [img] => http://querylist.com/2.jpg
           [other] => 其它的<b>一些</b>文本
       )
)

Si vous comprenez le code ci-dessus, alors félicitations, vous avez maîtrisé avec succès QueryList !

Voici le code complet :

<?php
require 'QueryList/vendor/autoload.php';
use QL\QueryList;
$html = <<<STR
<div id="one">
    <div class="two">
        <a href="http://querylist.cc">QueryList官网</a>
        <img src="http://querylist.com/1.jpg" alt="这是图片">
        <img src="http://querylist.com/2.jpg" alt="这是图片2">
    </div>
    <span>其它的<b>一些</b>文本</span>
</div>        
STR;
$rules = array(
    //采集id为one这个元素里面的纯文本内容
    'text' => array('#one','text'),
    //采集class为two下面的超链接的链接
    'link' => array('.two>a','href'),
    //采集class为two下面的第二张图片的链接
    'img' => array('.two>img:eq(1)','src'),
    //采集span标签中的HTML内容
    'other' => array('span','html')
);
$data = QueryList::Query($html,$rules)->data;
print_r($data);