当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 抓取新浪读书频道的小说并生成txt电子书的代码

PHP
php 正确解码javascript中通过escape编码后的字符
在PHP中养成7个面向对象的好习惯
PHP函数常用用法小结
Zend framework处理一个http请求的流程分析
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
php cli 方式 在crotab中运行解决
PHPWind 发帖回帖Api PHP版打包下载
Linux下将excel数据导入到mssql数据库中的方法
php不用内置函数对数组排序的两个算法代码
用php实现的下载css文件中的图片的代码
php 获取当前访问的url文件名的方法小结
php date与gmdate的获取日期的区别
php下把数组保存为文件格式的实例应用
劣质的PHP代码简化
php 生成随机验证码图片代码
php+mysql事务rollback&commit示例
php 处理上百万条的数据库如何提高处理查询速度
两个开源的Php输出Excel文件类
PHP Memcached应用实现代码
Memcache 在PHP中的使用技巧

PHP 抓取新浪读书频道的小说并生成txt电子书的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 42 ::
收藏到网摘: n/a

想看什么电子书,先去新浪读书搜索,然后填入对应的参数即可
复制代码 代码如下:

/* Author: Yang Yu <[email protected]> */
//想看什么电子书,先去新浪读书搜索,然后填入对应的参数即可
//http://vip.book.sina.com.cn/
//电子书参数
$array_book[0] = 38884; //小说id
$array_book[1] = 22172; //章节起始id
$array_book[2] = 32533; //章节结束id
$array_book[3] = '中国特种部队生存实录:狼牙'; //小说名字
//匹配参数
$title_pre = "/<h1>(.*?)<\/h1>/"; //标题部分
$contents_pre = "/<div id=\"contTxt\" class=\"contTxt1\">(.*?)<\/div>/"; //内容部分
//生成电子书
for( $i = $array_book[1]; $i <= $array_book[2]; $i++){
$url = "http://vip.book.sina.com.cn/book/chapter_{$array_book[0]}_{$i}.html";
$html = file_get_contents($url);
preg_match_all($title_pre,$html,$title);
preg_match_all($contents_pre,$html,$contents);
$fh = fopen($array_book[3].'.txt','a+');
$write_contents = $title[1][0]."\r\n".str_replace('</p>',"\r\n",str_replace('<p>',' ',$contents[1][0]))."\r\n";
if( fwrite($fh,$write_contents) ){
echo '第'.$i.'节抓取完毕< /br>';
}
fclose($fh);
}