海天无影's Blog

php小偷程序的简单使用

/ 0评 / 0

很多时候由于时间不够,或者价值不大,很多站长手上的站并没有花时间去维护,那么放着一个站很是浪费,于是就有了小偷程序,就是盗取别人网站的内容,然后显示在自己的网站上。感觉上和采集差不多,但是还是有区别的。

1、小偷程序是实时的,不像采集,是必须有采集的步骤才行。

2、小偷程序并不保存内容,只是显示的别人网站的内容。

简单来看一下怎么用php制作一个小偷程序,本文中是使用php的file_get_contents函数,另外还有file、readfile函数都可以采集。当然还有更加强大的cURL函数,可以调用处理很多交互的数据,本文就不介绍了,大家可以自行学习。

file_get_contents函数
作用是获取指定链接页面中的内容,返回一个字符串,函数使用方法:

$file=file_get_contents(“http://www.weather.com.cn/weather/101010100.shtml“);

实现步骤

①获取页面内容

使用php函数$str=file_get_contents("url");读取目标站点网页内容并赋值给$str变量

②通过正则表达式函数eregi匹配出需要的内容

eregi("正则表达式","匹配的字符串$str","返回值");

③查找和替换一些内容

使用$str2=str_replace("被替换的字串","替换成的字串","原字符串");

使用字符串替换函数,可以替换字符串中的内容以及文件路径等。

④输出结果到网页中

echo $str2;

下面以获取天气预报小偷程序来作为示例,来自藏章博客

天气的远程地址是:http://www.weather.com.cn/weather/101010100.shtml  ,现在我们要的是  “北京 逐6小时精细化预报 ( 2012-09-08   08 :00发布)”这块里面的东西,为了样式不受破坏,我们首先把head里面的内容截取出来

$file=file_get_contents(“http://www.weather.com.cn/weather/101010100.shtml“);

eregi(“<head>(.*)</head>”, $file,$head); //截取字符串放在$head

echo “<html><head>”; //添加上少了的标签

print_r($head[1]);  //显示出截取的内容

echo “</head>”; // 补充head标签

echo “<body><center>”;//补充body开始标签,和使用center来显示居中

现在我们要显示body里面的内容了

我们通过分析网页结构,知道“<div class=\”jxyb\”>”是我们想要的那一块的开始位置,所以我们的正则表示是

eregi(“<div class=\”jxyb\”>(.*)</a></b></td>”, $file,$body);

为什么不是用是</div>来结束,获取中间的内容呢,因为网页里面有很多的div我们需要找到一个唯一确定的字符串来截取,这样内容就基本获取完了,我们要最的就是把漏掉的标签补充上。

print_r($body[1]);  echo “</a></b></td>   </tr>   </table> </div>”;

echo “</body></html>”;

到现在为止:我们的程序就完成了。

完整的程序代码:

<?php

$file=file_get_contents("http://www.weather.com.cn/weather/101010100.shtml");

eregi("<head>(.*)</head>", $file,$head);

echo "<html></head>";

print_r($head[1]);

echo "</head>";

echo "<body><center>";

echo "<div class=\"jxyb\">";

eregi("<div class=\"jxyb\">(.*)</a></b></td>", $file,$body);

print_r($body[1]);

echo "</a></b></td>

</tr>

</table>

</div>";

echo "</body></html>";

?>

发表评论

电子邮件地址不会被公开。