setQuery( ) 方法

返回值:QueryList对象


重新设置选择器,不会再次重复的取抓取一遍目标页面源码,用于重复采集同一个页面多处的内容。

原型:

  1. setQuery(array $rules, $range = '',$outputEncoding = null, $inputEncoding = null,$removeHead = false)

参数解释同Query


用法

  1. <?php
  2. require 'vendor/autoload.php';
  3. use QL\QueryList;
  4. $html =<<<STR
  5. <div class="xx">
  6. <span>
  7. xxxxxxxx
  8. </span>
  9. <img src="/path/to/1.jpg" alt="">
  10. </div>
  11. STR;
  12. //采集文本
  13. $ql = QueryList::Query($html,array(
  14. 'txt' => array('span:eq(0)','text')
  15. ));
  16. print_r($ql->data);
  17. //采集图片
  18. $ql->setQuery(array(
  19. 'image' => array('.xx img','src')
  20. ));
  21. print_r($ql->data);
  22. /**
  23. 采集结果:
  24. Array
  25. (
  26. [0] => Array
  27. (
  28. [txt] => xxxxxxxx
  29. )
  30. )
  31. Array
  32. (
  33. [0] => Array
  34. (
  35. [image] => /path/to/1.jpg
  36. )
  37. )
  38. **/