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与MySQL交互使用详解
Oct 09 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
php gzip压缩输出的实现方法
Apr 27 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP设置进度条的方法
Jul 08 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
php经典趣味算法实例代码
Jan 21 PHP
详解thinkphp的Auth类认证
May 28 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设计模式之调解者模式的深入解析
2013/06/13 PHP
php 伪静态之IIS篇
2014/06/02 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
vue实现商城购物车功能
2017/11/27 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
Python单例模式实例详解
2017/03/01 Python
Python文件和流(实例讲解)
2017/09/12 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
python3判断IP地址的方法
2021/03/04 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
2014年财政局工作总结
2014/12/09 职场文书