新闻采集器php版,一个简单PHP采集器

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("//is",$r,$booktitle);//匹配此页面的标题

$bookname = $booktitle[1];//取第二层数组

$preg = '/

/isU';

preg_match_all($preg, $r, $zj); //将此页面的章节连接匹配出来

$bookzj = count($zj[1]);// 计算章节标题数量

if ($ver=="new"){

$content_start = "";

$content_end = "";

}

if ($ver=="old"){

$content_start = "";

$content_end = "
";

}

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

writer($bookname." 共".$bookzj."节\r\n帅哥刘并于".date("D M j G:i:s T Y")."为了毕业而设计小说整理收集\r\n", "./ailaopo/".$bookname.".txt","w+");

for ($i=0;$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("/(

)(.*?)()/is",$str,$title);//匹配此连接页面的标题

$title = str_replace("_读书频道_新浪网","",$title[2]);//把$title[2]里面有_读书频道_新浪网的换成空

preg_match("/(".$content_start.")(.*?)(".$content_end.")/is",$str,$content);//匹配此连接页面的内容

$content = preg_replace("//s","",str_replace("

","\r\n",$content[2]));//用str_replace把$content[2]里有 的换成\r\n

print_r($content);

exit;

//把第".($i+1)."节和标题与内容连接在一起放在变量

$result = " \r\n第".($i+1)."节--------".$title."_汪老师就是帅 --------- \r\n".$content;

writer($result, "./ailaopo/".$bookname.".txt","a+");//调用函数把$result

echo "小说".$bookname."共".$bookzj."节,现在整理到第".$i."节 _".$title."
";

}

echo "小说".$bookname."共".$bookzj."节 已全部整理完成!";

function writer($content,$url,$mode)//定义函数名 writer 参数$content,$url,$mode

{

$fp = fopen($url, $mode);//打开文件$url

fwrite($fp, $content);//把$content放入到$fp

fclose($fp); //关闭$fp

}

?>

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值