加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

一个简单PHP采集器

发布时间:2020-05-25 07:49:57 所属栏目:PHP 来源:互联网
导读:一个简单PHP采集器

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

自己写的一个简单PHP采集器

<?php 

//**************************************************************** 
$url = "http://book.sina.com.cn/nzt/lit/zhuxian2/index.shtml";// 图书地址 
$ver = "old"; //新旧版本 
//**************************************************************** 

$r = file_get_contents($url); //用file_get_contents将网址打开并读取所打开的页面的内容 
preg_match("/<meta name="description" content="(.*?)">/is",$r,$booktitle);//匹配此页面的标题 
$bookname = $booktitle[1];//取第二层数组 
$preg = '/<li><a href=(.*).shtml target=_blank class=a03>/isU'; 
preg_match_all($preg,$zj); //将此页面的章节连接匹配出来 
$bookzj = count($zj[1]);// 计算章节标题数量 
if ($ver=="new"){ 
$content_start = "<!--正文内容开始-->"; 
$content_end = "<!--正文内容结束-->"; 
} 
if ($ver=="old"){ 
$content_start = "</table><!--NEWSZW_HZH_END-->"; 
$content_end = "<br>"; 
} 

header("Content-Type:text/html;charset=gb2312"); 

writer($bookname." 共".$bookzj."节rn帅哥刘并于".date("D M j G:i:s T Y")."为了毕业而设计小说整理收集rn","./ailaopo/".$bookname.".txt","w+"); 
for ($i=0;$i<$bookzj;$i++) { 
//echo "http://book.sina.com.cn".$zj[1][$i]".shtml";die(); 
//用file_get_contents将章节连接打开并读取所打开的页面的内容 
$str = file_get_contents("http://book.sina.com.cn".$zj[1][$i].".shtml"); 
preg_match("/(<title>)(.*?)(</title>)/is",$str,$title);//匹配此连接页面的标题 
$title = str_replace("_读书频道_新浪网","",$title[2]);//把$title[2]里面有_读书频道_新浪网的换成空 
preg_match("/(".$content_start.")(.*?)(".$content_end.")/is",$content);//匹配此连接页面的内容 
$content = preg_replace("/<(.*?)>/s",str_replace("</p>","rn",$content[2]));//用str_replace把$content[2]里有</p> 的换成rn 
print_r($content); 
exit; 
//把第".($i+1)."节和标题与内容连接在一起放在变量 
$result = " rn第".($i+1)."节--------".$title."_汪老师就是帅 --------- rn".$content; 
writer($result,"a+");//调用函数把$result 
echo "小说".$bookname."共".$bookzj."节,现在整理到第".$i."节 _".$title."<br>"; 
} 
echo "小说".$bookname."共".$bookzj."节 已全部整理完成!"; 

function writer($content,$url,$mode)//定义函数名 writer 参数$content,$mode 
{ 
$fp = fopen($url,$mode);//打开文件$url 
fwrite($fp,$content);//把$content放入到$fp 
fclose($fp); //关闭$fp 
} 
?> 

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读