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 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
php 获取全局变量的代码
Apr 21 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
php的XML文件解释类应用实例
Sep 22 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
php session 写入数据库
Feb 13 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
php 截取GBK文档某个位置开始的n个字符方法
Mar 08 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 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
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
python文件名和文件路径操作实例
2017/09/29 Python
树莓派实现移动拍照
2019/06/22 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
最好的商品表达自己:Cafepress
2019/09/04 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
一年级小学生评语大全
2014/12/25 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python