<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 分頁列表采集 下面我們以采集站長之家的列表頁為例:[http://www.chinaz.com/biz/info/1.shtml](http://www.chinaz.com/biz/info/1.shtml) ## 1. 基本信息 基本信息配置很簡單,按照表單備注提示填寫即可。 ![](https://box.kancloud.cn/be4bd9e367693ace7a19e9e46c06ca39_1492x1170.png) >[info] 目標編碼:用谷歌瀏覽器打開你要采集的網址,點擊右鍵-審查元素,查看網頁源碼。如下圖: ![](https://box.kancloud.cn/27f2cf15298b9170a48bdbbb3aeeadfb_1682x970.png) >[info] 網址類型: 分頁列表:采集有規則的分頁數據。 固定網址:采集固定的某個或多個頁面。 >[info] 列表首頁:部分網站的列表開始頁是index或其他命名規則,有效頁碼數是從2開始的時候,此處為必填項。 >[info] 鏈接前綴:指列表頁里面的內容鏈接不是全路徑時,例:/detail/124.html,類似這樣的鏈接的時候,此處為必填。 >[info] 資源前綴:指圖片或文件的訪問地址不是全路徑時,例:/upload/img/123.png,類似這樣的地址的時候,此處為必填。 ## 2. 列表頁規則 >[info] 基本信息里面的網址類型設置為分頁列表時必須配置列表頁規則,如果為固定網址時,請忽略列表頁規則的配置。 ![](https://box.kancloud.cn/eafd5e92ae2090dbe05f56cdbc2a7c73_1912x436.png) > 標題:顧名思義,就是字段對應的標題 > 字段名:指數據庫對應的字段名,如需入庫,必須與真實的數據庫字段同名 > 選擇器:即我們要采集的CSS選擇器,例如:.post-title>a > 屬性:即我們要采集的CSS選擇器綁定的屬性。純文字填寫:text,含html標簽填寫:html,其他屬性自行選擇,如a標簽的href屬性則填寫:href >固定值:指當前字段無需通過采集獲取,需要固定為某個值,這時前面的選擇器、屬性、內容過濾均可不填 >內容過濾:采集的目標內容里面,有些數據是我們不需要的,我們可以用選擇器的方式來過濾這些內容 >入庫:指當前采集的字段是否需要存入數據庫 > 列表:指是否需要在采集內容管理頁面顯示 > 下載:指當前字段如果為圖片或其他文件時,是否需要下載到本地服務器 >[warning] 列表頁規則默認創建了一個詳情鏈接規則,此規則不填寫將無法正常抓取到完整的內容頁面。我們以采集站長之家的列表頁為例: ![](https://box.kancloud.cn/35548ebedbacc67d3e2e8aead000aaf4_2220x992.png) ***** 正確的規則如下: ***** ![](https://box.kancloud.cn/8be0af292e0bb47e604fb8c26670acbf_1872x302.png) ***** 如果還需要采集其他字段信息(如:文章標題),點擊右側藍色的加號。 ***** ![](https://box.kancloud.cn/2473b2529391ce6caf17014560f3d04f_1886x942.png) ***** 正確的規則如下: ***** ![](https://box.kancloud.cn/6bacb608be99c471bdcdd21a0b38728d_1926x424.png) ## 內容頁規則 >[info] 內容頁規則含義同上。我們以采集此鏈接為例:[http://www.chinaz.com/2019/0613/1023717.shtml](http://www.chinaz.com/2019/0613/1023717.shtml) ## 需求1:采集文章來源 ![](https://box.kancloud.cn/950aa037bd15bdc4dc9814bcd3877be8_2178x1052.png) ***** 通過瀏覽器審查元素找到了文章來源被包含在class名為source的span標簽里面,而且里面還嵌套了一個a標簽。那我們的采集規則就變得很簡單了,用css選擇器的寫法就是:`.source>a`,我們需要采集的是A標簽包含的文字信息,所以我們的屬性直接填寫`text`即可。如下圖: ![](https://box.kancloud.cn/288a84d153caa37c518277376d6fe73f_1998x272.png) ## 需求2:采集文章內容 ![](https://box.kancloud.cn/bb27fcb34e40d8e261b44e64846646fc_2238x1390.png) ***** 我們通過審查元素,找到文章的內容被包含在一個class為detail的div標簽里面。采集規則的選擇器就特別簡單了,直接填寫`.detail`即可。文章的內容包含有很多的排版,排版里面是含有html標簽的,所以我們的采集屬性需要填寫`html`。如下圖: ![](https://box.kancloud.cn/fff7f961a25afc305126368e20a8eb28_2102x424.png) >[info] 細心的小伙伴可能已經發現了內容頁規則多了一個分頁選項,有些網站的文章內容比較長([http://www.chinaz.com/manage/2019/0428/1012578.shtml](http://www.chinaz.com/manage/2019/0428/1012578.shtml)),使用了內容分頁,如果希望采集到完整的內容,我們就需要勾選上分頁選項。 ## 3. 高級配置 ![](https://box.kancloud.cn/f86ac2c57e51b9954acff08e385a5d4a_1824x644.png) ***** >[info] 內容分頁就是上面講的文章內容分頁,依然用CSS選擇器的方式提取分頁代碼。 ![](https://box.kancloud.cn/804c0ce1905ba4064db0b4f368c19478_1596x724.png) ***** 我們看到分頁代碼被class名為pagebreak的div標簽包裹起來了。選擇器名填寫`.pagebreak>a`即可。屬性保持默認值 `href` 即可。編輯器根據自己實際的使用情況選擇,選擇編輯器主要是為了自動轉換不同編輯器的分頁標記。 ![](https://box.kancloud.cn/527c34405f5cd5749626e74445b6a975_1906x622.png) >[info] 回調方法:為了方便您對接不同業務模塊的采集需求,數據采集完成后會根據你自定義的入庫字段,生成一個新的數據結構并推送到你指定的回調方法里面。你可以根據自己的需求對采集的數據做二次處理并入庫。 ``` <?php namespace app\blog\admin; use app\system\admin\Admin; use app\blog\model\BlogArticle as ArticleModel; /** * 文章控制器 * @package app\blog\admin */ class Article extends Admin { /** * 采集插件接口示例 * @param array $data 采集的數據集 * @return number/string */ public function collect($data) { // 數據驗證 $result = $this->validate($data, 'app\blog\validate\Article'); if ($result !== true) { return $result; } // 入庫 $model = new ArticleModel; if ($model->save($data) === false) { return $model->getError() ? $model->getError() : '入庫保存失敗'; } // 必須返回新增主鍵ID return $model->id; } } ``` >[danger] 特別說明:回調方法必須在后臺控制器(admin)目錄下面。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看