php 信息采集程序代码

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?
//采集首页地址
$url="http://emotion.pclady.com.cn/skills/";
//获取页面代码
$rs=file_get_contents($url);
//设置匹配正则
//$fp=fopen("text.txt","a");
//$fw=fwrite($fp,$rs);
//fclose($fp);
/*<I class=titles><A
href="http://emotion.pclady.com.cn/skills/0903/376476.html"
target=_blank>留住你身边的好男人</A></I>*/
$preg='/<i\s+class=\"titles\"><a\s+href=\"[^>]+\">(.*)<\/a><\/i>/i';
//进行正则搜索
preg_match_all($preg,$rs,$title);
//计算标题数量
$count=count($title[0]);
echo $count."<br>";
//通过标题数量进行内容采集
for ($i=0;$i<$count;$i++){

//设置内容页地址
$pr='/<a\s+href=\"[^>]+\">/isU';
preg_match_all($pr,$title[0][$i],$jurl);
$substr=substr($jurl[0][0],9);
$curl=substr($substr,0,-18);
//获取内容页代码
$c=file_get_contents($curl);
//设置内容页匹配正则
$pc='/<a\s+href=\"[^>]+\">/i';
//进行正则匹配搜索
preg_match($pc,$c,$content);
//输出标题
echo $title[0][$i]."<br>";
echo $title[1][$i]."<br>";
$concount=count($content[0]);
echo $concount."<br>";
echo $content[0][0];
for ($j=0;$j<$concount;$j++){

}
}
?>

通过检测,$c已经是内容页的数据流了,可是$pc这个的正则表达式为什么只匹配<这个字符其他的都没有呢,是因为我上面用了subsrt()函数吗?还是什么问题?麻烦各位大侠指点迷津啊?

相关文章

php中explode与split的区别介绍

首先来看下两个方法的定义: 函数原型:array split (string $pattern, string $string [, int $limit]) 函数原型:array ex...

PHP随机生成唯一HASH值自定义函数

网上有很多种方法获取随机唯一的HASH值,但是大同小异: 1、先获取随机的唯一字符串 2、进行MD5或者sha1算HASH值 一个项目要用到hash值,就去网上找了找,却发现PHP有一个...

PHP 编程安全性小结

规则 1:绝不要信任外部数据或输入   关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直...

PHP实现通过strace定位故障原因的方法

本文实例讲述了PHP实现通过strace定位故障原因的方法。分享给大家供大家参考,具体如下: 俗话说:不怕贼偷,就怕贼惦记着。在面对故障的时候,我也有类似的感觉:不怕出故障,就怕你不知道...

PHP中4种常用的抓取网络数据方法

本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总。关于 fsockopen 前面已经谈了不少,下面开始...