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 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php获取参数的几种方法总结
Feb 18 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
php防止用户重复提交表单
Nov 02 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
PHP最常用的正则表达式
Feb 13 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
浅谈如何提高PHP代码质量之单元测试
May 28 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python实现单词翻译功能
2017/06/06 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python装饰器知识点补充
2018/05/28 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
Python中内建模块collections如何使用
2020/05/27 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
一年级语文教学反思
2014/02/13 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
技术负责人岗位职责
2015/02/10 职场文书
把77A收信机改造成收音机
2022/04/05 无线电