CURL抓取網頁內容並用正則提取。


[php] view plaincopy
  1. <?php  
  2. header("Content-Type:text/html;charset=UTF-8");  
  3. /* 
  4.  * CURL網頁抓取 
  5.  * */  
  6. class Curl{  
  7.     var $setopt;  
  8.     var $data;  
  9.     function __construct($url){  
  10.         $this->setopt =array(  
  11.     CURLOPT_URL => "$url",  
  12.     CURLOPT_RETURNTRANSFER => true,  
  13.     CURLOPT_FOLLOWLOCATION => true,  
  14. );  
  15.     }  
  16.     function exec(){  
  17.         $ch = curl_init();  
  18.         curl_setopt_array($ch,$this->setopt);  
  19.         $this->data = curl_exec($ch);  
  20.         curl_close($ch);  
  21.         return $this->data;  
  22.     }  
  23. };  
  24. /* 
  25.  * 抓取回來的網頁進行正則查找 
  26.  * id是按ID查找內容 
  27.  * tagName是標簽查找 
  28.  * className按類名查找*/  
  29. class Preg{  
  30.     function id($data,$id){  
  31.         preg_match('/<(.*)\s*id=.*('.$id.').*>\s*(.*)\s*<\/(.*)>/',$data,$str);  
  32.         return $str[0];  
  33.     }  
  34.       
  35.     function tagName($data,$tag){  
  36.         preg_match('/<'.$tag.'.*>\s*(.*)\s*<\/'.$tag.'>/',$data,$str);  
  37.         return $str[1];  
  38.     }  
  39.       
  40.     function className($data,$class){  
  41.         preg_match('/<(.*)\s*class=.*('.$class.').*>\s*(.*)\s*<\/(.*)>/',$data,$str);  
  42.         return $str[0];  
  43.     }  
  44.       
  45. }  
  46.   
  47. $c = new Curl('www.corker.cc');  
  48. $data = $c->exec();  
  49. $data = @iconv("gb2312""utf-8",$data);  
  50. $preg = new Preg();  
  51. echo $preg->tagName($data,'title');  
  52.   
  53. ?>  

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com