php基于phpQuery的通用采集类

  用phpQuery来做采集,非常地简单,没有头疼的正则表达式的困扰,类似JQ的选择器操作,很容易上手。

PHP代码
  1. <?php  
  2.   
  3.   /** 
  4.   *通用列表采集类 
  5.   *版本V1.3 
  6.   *作者:JAE 
  7.   * 
  8.   */  
  9.     require_once '../phpQuery/phpQuery/phpQuery.php';  
  10.     class QueryList{  
  11.           
  12.         private $pageURL;  
  13.          private $regArr = array();  
  14.          public $jsonArr = array();  
  15.          private $regRange;  
  16.          private $html;  
  17.          /************************************************ 
  18.          * 参数: 页面地址 选择器数组 块选择器 
  19.          * 【选择器数组】说明:格式array("名称"=>array("选择器","类型"),…….) 
  20.          * 【类型】说明:值 "text" ,"html" ,"属性"  
  21.          *【块选择器】:指 先按照规则 选出 几个大块 ,然后再分别再在块里面 进行相关的选择 
  22.          *************************************************/  
  23.          function QueryList($pageURL,$regArr=array(),$regRange='')  
  24.          {  
  25.              $this->pageURL = $pageURL;  
  26.       
  27.              //为了能获取https://  
  28.                $ch = curl_init();  
  29.                 curl_setopt($ch, CURLOPT_URL,$this->pageURL);  
  30.                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);   
  31.                 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  
  32.                 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);   
  33.                 $this->html = curl_exec($ch);  
  34.                curl_close($ch);  
  35.                  
  36.              if(!empty($regArr))  
  37.              {  
  38.               
  39.                   $this->regArr = $regArr;  
  40.                  $this->regRange = $regRange;  
  41.                  $this->getList();  
  42.              }  
  43.                  
  44.          }  
  45.          function setQuery($regArr,$regRange='')  
  46.          {  
  47.              $this->jsonArr=array();  
  48.              $this->regArr = $regArr;  
  49.              $this->regRange = $regRange;  
  50.              $this->getList();  
  51.          }  
  52.         private function getList()  
  53.          {  
  54.           &amp

发表评论

电子邮件地址不会被公开。 必填项已用*标注