PHP实现的抓取小说网站内容功能示例


Posted in PHP onJune 27, 2019

本文实例讲述了PHP实现的抓取小说网站内容功能。分享给大家供大家参考,具体如下:

爬取免费内容,弄到手机,听书,妥妥的。

ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; GreenBrowser)');
ini_set('max_execution_time', '0');
$base = 'https://www.qu.la/book/19434/';
$start = '7504808.html';
$content_grep = '/    (.*)<br\/>/';
//$content_grep = '/<div id="content">(.*)<br\/>/sS';
$next_grep = '/<a id="pager_next" href=\"(\d+\.html)\" target="_top" class="next">下一章<\/a>/';
$next = $start;
$file_name = '听书了.txt';
while($next) {
  echo 'getting ' . $next . PHP_EOL;
  $result = file_get_contents($base . $next);
  preg_match_all($content_grep, $result, $match);
  $isTitle = true;
  $content = "";
  foreach($match[1] as $line) {
    $line  = str_replace("<br/>", '', $line);
    $line  = str_replace(" ", '', $line);
    if($isTitle) {
      $content = $line . PHP_EOL . PHP_EOL;
      $isTitle = false;
    } else {
      $content .= '    ' . $line . PHP_EOL . PHP_EOL;
    }
  }
  $file = fopen($file_name, 'a');
  echo 'write length: ' . strlen($content) . PHP_EOL;
  fwrite($file, $content);
  fclose($file);
  echo '.';
  preg_match($next_grep, $result, $match);
  $next = $match[1];
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php导出word格式数据的代码实例
Nov 25 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
如何让CI框架支持service层
Oct 29 PHP
php常用的url处理函数总结
Nov 19 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 #PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 #PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 #PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 #PHP
Laravel向公共模板赋值方法总结
Jun 25 #PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 #PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 #PHP
You might like
php cli 方式 在crotab中运行解决
2010/02/08 PHP
joomla内置的表单验证功能使用方法
2010/06/11 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
详解Vue方法与事件
2017/03/09 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
在centos7中分布式部署pyspider
2017/05/03 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python如何读写csv数据
2018/03/21 Python
Python实现图片拼接的代码
2018/07/02 Python
Linux下python3.7.0安装教程
2018/07/30 Python
transform python环境快速配置方法
2018/09/27 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
烹调加工管理制度
2014/02/04 职场文书
工会主席岗位责任制
2014/02/11 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
Ruby处理YAML和json数据
2022/04/18 Ruby
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers