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 相关文章推荐
文件上传类
Oct 09 PHP
global.php
Dec 09 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
php visitFile()遍历指定文件夹函数
Aug 21 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
php通过array_merge()函数合并关联和非关联数组的方法
Mar 18 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
针对PHP开发安全问题的相关总结
Mar 22 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 visitFile()遍历指定文件夹函数
2010/08/21 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
js中更短的 Array 类型转换
2011/10/30 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
银河香水:Galaxy Perfume
2019/03/25 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
建筑实习自我鉴定
2013/10/18 职场文书
自主招生自荐书
2013/11/29 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
面试通知邮件
2015/04/20 职场文书
如何写通讯稿
2015/07/22 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫