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预定义常量
Dec 25 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
php分页示例代码
Mar 19 PHP
php下防止单引号,双引号在接受页面转义的设置方法
Sep 25 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 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下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
举例讲解Python中的算数运算符的用法
2015/05/13 Python
python先序遍历二叉树问题
2017/11/10 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python 的AES加密与解密实现
2019/07/09 Python
python数值基础知识浅析
2019/11/19 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
星空联盟C# .net笔试题
2014/12/05 面试题
授权委托书
2014/07/31 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
创业计划书介绍
2019/04/24 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers