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 30 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
Destoon实现多表查询示例
Aug 21 PHP
分享自定义的几个PHP功能函数
Apr 15 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
php采用session实现防止页面重复刷新
Dec 24 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
Vue渲染函数详解
2017/09/15 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
python打开网页和暂停实例
2014/09/30 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
详解python中的线程
2018/02/10 Python
python实现二维数组的对角线遍历
2019/03/02 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
简单了解python元组tuple相关原理
2019/12/02 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
学校消防演习方案
2014/02/19 职场文书
青春寄语大全
2014/04/09 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
工作失误检讨书范文
2015/01/26 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang