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中的日期及时间
Nov 23 PHP
一些PHP写的小东西
Dec 06 PHP
php目录操作实例代码
Feb 21 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
thinkPHP简单调用函数与类库的方法
Mar 15 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
详解js中==与===的区别
2017/01/08 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python3将数据保存为txt文件的方法
2019/09/12 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
英文自荐信格式
2013/11/28 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
上课迟到检讨书
2014/01/19 职场文书
高三家长寄语
2014/04/03 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
师范生见习报告
2014/10/31 职场文书
小孩不笨观后感
2015/06/03 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS