中文无码AV一区二区三区,少妇的丰满3中文字幕,无码av中文一区二区三区桃花岛
<ruby id="kfnns"></ruby>

      400-800-9385
      網站建設資訊詳細

      php抓取第三方網站的小說內容

      發表日期:2023-02-01 20:20:18   作者來源:劉紅旺   瀏覽:63   標簽:php網站建設    
      這里用到  QueryList這個第三方插件,安裝要求
      php>=7.1
      composer  安裝
       
      composer require jaeger/querylist
       
       
      或者直接下載
      開箱即用:https://pan.baidu.com/s/1QPMUalL5HcVJ4L7zUY0LMg
      require_once  app()->getRootPath()."extend/queryList/autoload.php";// 引入插件
      $QueryList=new \QL\QueryList();
      $url ='xxxxxxxxxxxxxxxxxxx';//需要獲取小說的鏈接
      $rt = [];
      //根據頁面獲取書籍信息
      $rules = [
           'title' => ['.t>a','text'], // 獲取小說名稱
           'link' => ['.n>a','href'], // 獲取小說的鏈接
           'author' => ['.author>a','text'], //獲取小說的作者
           'status' => ['.abover>span','text'], //獲取小說的狀態
           ];
             
      $range = '.ul_m_list li';  // 切片選擇器
               //encoding('UTF-8','GB2312') 轉碼
      $rt = $QueryList->get($url)->rules($rules)->range($range)->removeHead()->encoding('UTF-8','GB2312')->query()->getData();
              dump($rt->all());exit;
       
      根據網站的機構去獲取書籍內容,比如這個網站

      網站

      書名是在class   .t>a 下面的 ,鏈接是在class   .n>a 下面的
       
      range :切片選擇工具    就是書籍循環的外包結構 可以將書籍分割成一個一個的數組
      remove:可以將內容中的部分內容過濾掉
      $html =<<<STR
          <div id="content">
       
              <span class="tt">作者:xxx</span>
       
              這是正文內容段落1.....
       
              <span>這是正文內容段落2</span>
       
              <p>這是正文內容段落3......</p>
       
              <span>這是廣告</span>
              <p>這是版權聲明!</p>
          </div>
      STR;
       
      $rules = [
          'content' => ['#content','html']
      ];
       
      $rt = QueryList::rules($rules)
          ->html($html)
          ->query()
          ->getData(function($item){
              $ql = QueryList::html($item['content']);
              $ql->find('.tt,span:last,p:last')->remove();
              $item['content'] = $ql->find('')->html();
              return $item;
      });
      Array
      (
          [0] => Array
              (
                  [content] => 這是正文內容段落1.....
       
              <span>這是正文內容段落2</span>
       
              <p>這是正文內容段落3......</p>
              )
       
      )
       
       
       
      print_r($rt->all());
       
      $rt->find('.tt,span:last,p:last')->remove();
       
      encoding:作用于內容的轉碼,原來的網站'GB2312' 獲取的內容會出現亂碼,需要將他轉換成‘utf-8‘。

      網站2

      $html =<<<STR
      <div>
          <p>這是內容</p>
      </div>
      STR;
      $rule = [
          'content' => ['div>p:last','text']
      ];
      $data = QueryList::html($html)->rules($rule)
                      ->encoding('UTF-8','GB2312')->query()->getData();
       
      設置輸入輸出編碼,并移除html頭部
      如果設置輸入輸出參數仍然無法解決亂碼,那就使用 removeHead()方法移除html頭部
       
      removeHead:過濾掉頭部
       
      這樣我們就將這個頁面的書籍列表都獲取下來

      數據

      數據2

       
       
       
      讓后通過循環去獲取分頁的數據,根據書籍鏈接獲取書籍的章節,封面等其他數據,最后通過章節鏈接獲取到小說內容。
                                
      如沒特殊注明,文章均為方維網絡原創,轉載請注明來自http://www.f7ave.com/news/6663.html
      中文无码AV一区二区三区,少妇的丰满3中文字幕,无码av中文一区二区三区桃花岛 加维斯门窗 17k小说网 游戏狗 传动机械 单机游戏下载 轻小说 愚猫看书 天美天平仪器 硅酸盐防火板 掌阅 37游戏 液体卷材 深港dj舞曲 365音乐 杭州19楼 久久精品国产一区二区三,国内精品 亚洲 日韩,一本一久本久A久久精品综合,一本久久精品一区二区