用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP file_get_contents采集程序开发教程详解

时间:2015-01-23  来源:西部数据  作者:西部数据

file_get_contents() 远程文件获取函数,用来获取远程页面内容 

preg_match_all()进行全局正则表达式匹配,匹配多次,用于匹配列表 

preg_match   ()进行正则表达式匹配,匹配一次,用于匹配终端 

preg_replace ()进行正则表达式替换,用于过滤终端

具体步骤

Step 1 获取单页列表 和 单篇文章内容

在批量采集列表和内容之前,我们先将网站的单页列表和单篇文章的内容采集作为测试正则表达式对错.

列表页采集文章的链接地址,代码如下:

  1. <?php 
  2.  //获取列表 
  3.  $url = '/s2005/shishi.shtml'
  4.  $con=file_get_contents($url); 
  5.  //写正则获取列表中的文章链接 
  6.  /*范例 : <a test=a href='/20130418/n373177942.shtml' 
  7.           target='_blank'>湖南沅陵输电工程沉船事故共致6人死亡</a>*/ 
  8.  $preg = "|<a test=a href='(.*)' target='_blank'>(.*)</a>|iUs"
  9.  // 正则中的/i表示 大小写不敏感 /U 非贪婪匹配 /s 点号可以匹配换行符 
  10.  preg_match_all($preg,$con,$arr); 
  11.  //var_dump($arr); 
  12.     /* 
  13.     array(3) { 
  14.   [0]=> 
  15.   array(40) { 
  16.     [0]=> 
  17.     string(126) "<a test=a href='/20130418/n373180618.shtml' 
  18. target='_blank'>甘肃河西走廊遭大风沙尘侵袭 瞬时最大风力9级</a>" 
  19.     [1]=> 
  20.     string(112) "<a test=a href='/20130418/n373180612.shtml' 
  21. target='_blank'>一线城市住宅地价全部环比上涨</a>" 
  22.     ... ... 
  23.     [39]=> 
  24.     string(124) "<a test=a href='/20130418/n373161633.shtml' 
  25. target='_blank'>湖南衡阳发生一起枪击案致1人死 警方正缉凶</a>" 
  26.   } 
  27.   [1]=> 
  28.   array(40) { 
  29.     [0]=> 
  30.     string(46) "/20130418/n373180618.shtml" 
  31.     [1]=> 
  32.     string(46) "/20130418/n373180612.shtml" 
  33.     ... ... 
  34.     [39]=> 
  35.     string(46) "/20130418/n373161633.shtml" 
  36.   } 
  37.   [2]=> 
  38.   array(40) { 
  39.     [0]=> 
  40.     string(42) "甘肃河西走廊遭大风沙尘侵袭 瞬时最大风力9级" 
  41.     [1]=> 
  42.     string(28) "一线城市住宅地价全部环比上涨" 
  43.     ... ... 
  44.     [39]=> 
  45.     string(40) "湖南衡阳发生一起枪击案致1人死 警方正缉凶" 
  46.   } 
  47. } 
  48.     */ 
  49. ?> 

单篇文章的采集,代码如下:

  1. <?php 
  2. $url = 'http://www.phpfensi.com'
  3. $con = file_get_contents($url); 
  4. //正则表达式分为标题和内容 
  5. $title_preg = "|<h1>(.*)</h1>|iUs"
  6. $content_preg = "|<!-- 正文 -->(.*)<!-- 分享 -->|iUs"
  7. preg_match($title_preg,$con,$title_arr); 
  8. preg_match($content_preg,$con,$content_arr); 
  9. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门