CURL抓取网页内容并用正则提取。

[php]  view plain copy
  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. ?>  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值