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垃圾代码优化操作代码
Aug 05 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
Jul 02 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
php生成xml时添加CDATA标签的方法
Oct 17 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
php递归删除目录与文件的方法
Jan 30 PHP
php中memcache 基本操作实例
May 17 PHP
php动态绑定变量的用法
Jun 16 PHP
微信支付开发订单查询实例
Jul 12 PHP
基于php实现的验证码小程序
Dec 13 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的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python3+PyQt5实现柱状图
2018/04/24 Python
Django实现学生管理系统
2019/02/26 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
建筑学推荐信
2013/11/03 职场文书
归元寺导游词
2015/02/06 职场文书
会计工作检讨书
2015/02/19 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
Oracle使用别名的好处
2022/04/19 Oracle