php采集程序

其实,采集程序最简单的思路就是:获取页面代码——分析代码——获取需要的部分——写入数据库

对于采集程序来说,使用PHP来写的话,其实不算太好的,因为PHP并不支持多线程,对于采集来说,若没有多线程,将会是非常痛苦的一件事

不过可以使用frame等来设置同时几个页面一起采集,这样就能增加速度了,在这里我不讨论怎么多线程,我只说怎么用PHP来进行简单的采集

先确定采集目标:http://cn.jokes.yahoo.com/jok/index.html

这是雅虎的笑话栏目,我就以这个来进行讲解吧

首先分析一下网页,可以知道连接形式为:<img src="http://cn.yimg.com/i/cn/px_ar.gif" width=5 height=12 border=0 hspace=5><a href="http://cn.jokes.yahoo.com/07-07-/55/27lot.html" class=list target=_blank><big>头发与智慧</big></a>

使用正则表达式将它表示出来为:/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU

书写PHP代码:

代码
// 采集首页地址 
$url="<a href=\"http://cn.jokes.yahoo.com/jok/index.html\">http://cn.jokes.yahoo.com/jok/index.html</a>"; 
// 获取页面代码 
$r = file_get_contents($url); 
// 设置匹配正则 
$preg = '/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU'; 
// 进行正则搜索 
preg_match_all($preg, $r, $title); 


通过上面的代码,$title[1][num]就是连接的地址了,接着分析内容页,得到内容匹配正则为:/<div id="newscontent">(.*)</div>/isU

继续写代码:

代码
// 计算标题数量 
$count = count($title[1]); 
// 通过标题数量进行内容采集 
for($i=0;$i<$count;$i++) { 
   // 设置内容页地址 
   $jurl = "<a href=\"http://cn.jokes.yahoo.com/\">http://cn.jokes.yahoo.com/</a>" . $title[1][$i] . ".html";
   // 获取内容页代码 
   $c = file_get_contents($jurl); 
   // 设置内容页匹配正则 
   $p = '/<div id="newscontent">(.*)</div>/isU'; 
   // 进行正则匹配搜索 
   preg_match($p, $c, $content); 
   // 输出标题 
   echo $title[1][$i] . "
"; 
   // 输出内容 
   echo $content[$i]; 
}



这样,一个简单的采集工具就写出来了,其他的功能只需要再进一步的完善就可以了

完整代码:

代码
<?php 
// 采集首页地址 
$url = "<a href=\"http://cn.jokes.yahoo.com/jok/index.html\">http://cn.jokes.yahoo.com/jok/index.html</a>"; 
// 获取页面代码 
$r = file_get_contents($url); 
// 设置匹配正则 
$preg = '/hspace=5><a href="http://cn.jokes.yahoo.com/(.*).html" class=list target=_blank>/isU'; 
// 进行正则搜索 
preg_match_all($preg, $r, $title); 
// 计算标题数量 
$count = count($title[1]); 
// 通过标题数量进行内容采集 
for($i=0;$i<$count;$i++) { 
   // 设置内容页地址 
   $jurl = "<a href=\"http://cn.jokes.yahoo.com/\">http://cn.jokes.yahoo.com/</a>" . $title[1][$i] . ".html"; 
   // 获取内容页代码 
   $c = file_get_contents($jurl); 
   // 设置内容页匹配正则 
   $p = '/<div id="newscontent">(.*)</div>/isU'; 
   // 进行正则匹配搜索 
   preg_match($p, $c, $content); 
   // 输出标题 
   echo $title[1][$i] . "
"; 
   // 输出内容 
   echo $content[$i]; 

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 智能电表数据采集 php源码是一种能够获取智能电表数据的程序源代码,使用PHP语言编写而成。智能电表数据采集可以通过将数据从电表传送到另一台设备(如服务器)上,从而实现对电能的监控和数据分析。 该程序源码的主要代码包括电表通讯模块和数据采集模块。电表通讯模块负责与智能电表进行通信,获取电表数据;数据采集模块则负责格式化电表数据,存入数据库并向用户反馈数据。 使用php源码编写可有以下优点:首先,PHP是一种开发较快、代码可读性较高的语言,使得开发者在编写智能电表数据采集时,可以更快地实现程序的开发、维护和更新;此外,PHP语言具有广泛的支持和社区,可以提供很好的技术支持,对于初学者来说,可以更方便地找到解决问题的方法。 智能电表数据采集php源码的应用价值较大,可以在电力、能源管理、环境管理、设备监控等方面得到广泛应用。对于用户来说,可以通过实时监测电能数据,更好地掌握能源使用情况、优化能源使用方案,降低电费;对于能源管理部门来说,可以通过数据采集和分析,及时了解不同区域的用电情况,制定合理的电力调度计划。因此,智能电表数据采集php源码的应用前景十分广泛。 ### 回答2: 智能电表数据采集PHP源码是一种能够自动采集智能电表设备中的数据信息,并通过PHP编程语言实现的一套源代码程序。通过该程序的运行,可以自动化地采集智能电表设备中的各种数据信息,并实现数据的存储、分析和处理,以方便用户进行统计和分析。 智能电表数据采集PHP源码的核心优势在于它具有高效、快速和准确的数据采集能力。通过该源码程序的运行,可以自动地获取设备中的各项数据指标,并实现实时数据监控和处理。同时,该程序具有多种数据处理和分析功能,可以对数据进行筛选、排序、计算等操作,以满足不同用户的需求。 此外,智能电表数据采集PHP源码还具有一定的用户友好性和易用性,在使用过程中可以方便地配置和管理,可以根据用户的需求进行自定义设置,以满足不同场景下的数据采集需求。 总之,智能电表数据采集PHP源码是一种功能强大、操作简便的数据采集程序,具有高效、快速、准确、友好等优点,为用户提供了一种高效的数据处理解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值