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 解决utf-8和gb2312编码转换问题
Mar 18 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
php实现MySQL数据库备份与还原类实例
Dec 09 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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
通过文字传递创建的图形按钮
2006/10/09 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
python使用代理ip访问网站的实例
2018/05/07 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
Python识别html主要文本框过程解析
2020/02/18 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
运行时异常与一般异常有何异同?
2014/01/05 面试题
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
自荐信格式技巧有哪些呢
2013/11/19 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
2014年德育工作总结
2014/11/20 职场文书
售后服务质量承诺书
2015/04/29 职场文书
火烧圆明园观后感
2015/06/03 职场文书
总经理聘用协议书
2015/09/21 职场文书
党员读书活动心得体会
2016/01/14 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
OpenCV实现反阈值二值化
2021/11/17 Java/Android