博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CURL抓取网页内容并用正则提取。
阅读量:4305 次
发布时间:2019-05-27

本文共 989 字,大约阅读时间需要 3 分钟。

[php] 
  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. ?>  

转载地址:http://mwews.baihongyu.com/

你可能感兴趣的文章
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>
MongoDB基本语法和操作入门
查看>>
学习笔记_vnpy实战培训day04_作业
查看>>
OCO订单(委托)
查看>>
学习笔记_vnpy实战培训day05
查看>>
学习笔记_vnpy实战培训day06
查看>>
Python super钻石继承
查看>>
回测引擎代码分析流程图
查看>>