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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
php中$this-&amp;gt;含义分析
Nov 29 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php实现字符串翻转的方法
Mar 27 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
PHP 技巧 * SVG 保存为图片(分享图生成)
Apr 02 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实现读取和编写XML DOM代码
2010/04/07 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
Symfony的安装和配置方法
2016/03/17 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python变量和字符串详解
2017/04/29 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
python实现简单颜色识别程序
2020/02/19 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
《挑山工》的教学反思
2014/02/16 职场文书
同意报考证明
2015/06/17 职场文书
毕业证明模板
2015/06/19 职场文书
结婚幸福感言
2015/08/01 职场文书
教师节祝酒词
2015/08/11 职场文书
超市店长竞聘书
2015/09/15 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
SQL Server中搜索特定的对象
2022/05/25 SQL Server