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


Posted in PHP onDecember 18, 2009
/* Author: Yang Yu <yangyu@sina.cn> */ 
//想看什么电子书,先去新浪读书搜索,然后填入对应的参数即可 
//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); 
}
PHP 相关文章推荐
PHP安装攻略:常见问题解答(二)
Oct 09 PHP
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
php二分查找二种实现示例
Mar 12 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
May 28 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
Oct 08 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 PHP
PHP strtotime函数详解
Dec 18 #PHP
php 日期时间处理函数小结
Dec 18 #PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 #PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 #PHP
php jquery 实现新闻标签分类与无刷新分页
Dec 18 #PHP
PHP XML操作类DOMDocument
Dec 16 #PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 #PHP
You might like
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
PHP制作万年历
2015/01/07 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
表单内同名元素的控制
2006/11/22 Javascript
Prototype使用指南之form.js
2007/01/10 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python日期的加减等操作的示例
2017/08/15 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python3实现表白神器
2019/04/09 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
pyqt5数据库使用详细教程(打包解决方案)
2020/03/25 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
团日活动总结范文
2014/04/25 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
个人自查自纠材料
2014/10/14 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
七一活动主持词
2015/06/29 职场文书
谢师宴家长致辞
2015/07/27 职场文书