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作的文本留言本的例子(四)
Oct 09 PHP
谈谈新手如何学习PHP
Dec 23 PHP
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
php header()函数使用说明
Jul 10 PHP
php的ajax简单实例
Feb 27 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
laravel框架中视图的基本使用方法分析
Nov 23 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
实现获取http内容的php函数分享
2014/02/16 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
Js sort排序使用方法
2011/10/17 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
python中logging包的使用总结
2018/02/28 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
Python的历史与优缺点整理
2020/05/26 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
网络工程师自荐书范文
2014/04/01 职场文书
学校端午节活动方案
2014/08/23 职场文书
城管个人总结
2015/02/28 职场文书
浅析Django接口版本控制
2021/06/26 Python
golang使用map实现去除重复数组
2022/04/14 Golang