快速上手



  • 使用QueyList只需要编写规则库,然后把规则库传给QueryList的静态方法Query,QueryList就会自动按照规则库把内容全部采集回来了,而规则库是用jQuery选择器来编写的,所以使用QueryList的整个过程非常简单!

规则库的编写规则如下(简单模式):

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

下面我们来动手试试吧:

  • 采集目标,下面的代码片段
  1. $html = <<<STR
  2. <div id="one">
  3. <div class="two">
  4. <a href="http://querylist.cc">QueryList官网</a>
  5. <img src="http://querylist.com/1.jpg" alt="这是图片">
  6. <img src="http://querylist.com/2.jpg" alt="这是图片2">
  7. </div>
  8. <span>其它的<b>一些</b>文本</span>
  9. </div>
  10. STR;

2.编写采集规则

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

3.开始采集

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

结果如下:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [text] =>
  6. QueryList官网
  7. 其它的一些文本
  8. [link] => http://querylist.cc
  9. [img] => http://querylist.com/2.jpg
  10. [other] => 其它的<b>一些</b>文本
  11. )
  12. )

如果上面的代码你看懂了,那么恭喜你,你已经成功掌握了QueryList了!

下面是完整代码:

  1. <?php
  2. require 'QueryList/vendor/autoload.php';
  3. use QL\QueryList;
  4. $html = <<<STR
  5. <div id="one">
  6. <div class="two">
  7. <a href="http://querylist.cc">QueryList官网</a>
  8. <img src="http://querylist.com/1.jpg" alt="这是图片">
  9. <img src="http://querylist.com/2.jpg" alt="这是图片2">
  10. </div>
  11. <span>其它的<b>一些</b>文本</span>
  12. </div>
  13. STR;
  14. $rules = array(
  15. //采集id为one这个元素里面的纯文本内容
  16. 'text' => array('#one','text'),
  17. //采集class为two下面的超链接的链接
  18. 'link' => array('.two>a','href'),
  19. //采集class为two下面的第二张图片的链接
  20. 'img' => array('.two>img:eq(1)','src'),
  21. //采集span标签中的HTML内容
  22. 'other' => array('span','html')
  23. );
  24. $data = QueryList::Query($html,$rules)->data;
  25. print_r($data);