加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘孜站长网 (https://www.0836zz.com.cn/)- 运维、物联设备、数据计算、智能推荐、云管理!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现的抓取小说网站内容功能示例

发布时间:2022-07-14 10:54:56 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP实现的抓取小说网站内容功能,涉及php页面抓
  这篇文章主要介绍了PHP实现的抓取小说网站内容功能,涉及php页面抓取、正则匹配、文件读写等相关操作技巧,需要的朋友可以参考下。
 
  本文实例讲述了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];
  }
 

(编辑:甘孜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读