久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      聊聊使用Node.js + Cheerio 怎么進行數(shù)據(jù)抓取

      要獲取數(shù)據(jù),你必須求助于網(wǎng)絡(luò)抓取。本篇文章就來介紹一下如何使用Node和Cheerio抓取網(wǎng)站數(shù)據(jù),希望對大家有所幫助!

      聊聊使用Node.js + Cheerio 怎么進行數(shù)據(jù)抓取

      在我們開始之前,你需要遵守當?shù)氐姆o法規(guī),不可隨意抓取未經(jīng)允許公開的數(shù)據(jù)。

      先決條件

      以下是本教程需要的一些東西:

      • 你需要安裝Node.js。如果你沒有 Node,只需確保從Node.js 下載頁面為你的系統(tǒng)下載它(https://nodejs.dev/download/)
      • 你需要在你的機器上安裝一個文本編輯器,比如VSCode或Atom
      • 你至少應(yīng)該對 JavaScript、Node.js 和文檔對象模型 (DOM) 有基本的了解。

      什么是 Cheerio?

      Cheerio 是一個在 Node.js 中解析 HTML 和 XML 的工具,在 GitHub 上非常受歡迎,擁有超過23k 的 star 。

      它快速、靈活且易于使用。由于它實現(xiàn)了 JQuery 的一個子集,如果你已經(jīng)熟悉 JQuery,那么很容易開始使用 Cheerio。

      Cheerio 和 Web 瀏覽器之間的主要區(qū)別在于,cheerio 不生成視覺渲染、加載 CSS、加載外部資源或執(zhí)行 JavaScript。它只是解析標記并提供用于操作生成的數(shù)據(jù)結(jié)構(gòu)的 API。這就解釋了為什么它也非??臁猚heerio 文檔。

      如果你想使用cheerio 來抓取網(wǎng)頁,您需要首先使用axios或node-fetch等包來獲取標記。

      如何使用 Cheerio 在 Node 中抓取網(wǎng)頁

      在此示例中,我們將抓取此 Wikipedia 頁面上列出的所有國家和其他司法管轄區(qū)的ISO 3166-1 alpha-3 代碼。它位于ISO 3166-1 alpha-3頁面的當前代碼部分下。

      這是國家/司法管轄區(qū)列表及其相應(yīng)代碼的樣子:

      聊聊使用Node.js + Cheerio 怎么進行數(shù)據(jù)抓取

      第 1 步 – 創(chuàng)建工作目錄

      在此步驟中,您將通過在終端上運行以下命令為您的項目創(chuàng)建一個目錄。該命令將創(chuàng)建一個名為learn-cheerio. 如果你愿意,你可以給它一個不同的名字。

      mkdir learn-cheerio

      learn-cheerio成功運行上述命令后,您應(yīng)該能夠看到一個名為 created 的文件夾。

      在下一步中,您將在您喜歡的文本編輯器中打開剛剛創(chuàng)建的目錄并初始化項目。

      第 2 步 – 初始化項目

      在此步驟中,您將導(dǎo)航到項目目錄并初始化項目。在您喜歡的文本編輯器中打開您在上一步中創(chuàng)建的目錄,并通過運行以下命令來初始化項目。

      npm init -y

      成功運行上述命令將package.json在項目目錄的根目錄下創(chuàng)建一個文件。

      在下一步中,您將安裝項目依賴項。

      第 3 步 – 安裝依賴項

      在此步驟中,您將通過運行以下命令來安裝項目依賴項。這將需要幾分鐘,所以請耐心等待。

      npm i axios cheerio pretty

      成功運行上述命令將在字段package.json下的文件中注冊三個依賴項。dependencies第一個依賴是axios,第二個是cheerio,第三個是pretty。

      axios是一個非常流行的http 客戶端,可以在 node 和瀏覽器中運行。我們需要它,因為cheerio 是一個標記解析器。

      為了讓 Cheerio 解析標記并抓取您需要的數(shù)據(jù),我們需要axios用于從網(wǎng)站獲取標記。如果您愿意,可以使用另一個 HTTP 客戶端來獲取標記。它不一定是axios.

      pretty是用于美化標記的 npm 包,以便在終端上打印時可讀。

      在下一部分中,您將檢查將從中抓取數(shù)據(jù)的標記。

      第 4 步 – 檢查您要抓取的網(wǎng)頁

      在從網(wǎng)頁中抓取數(shù)據(jù)之前,了解頁面的 HTML 結(jié)構(gòu)非常重要。

      在此步驟中,您將檢查要從中抓取數(shù)據(jù)的網(wǎng)頁的 HTML 結(jié)構(gòu)。

      導(dǎo)航到Wikipedia 上的ISO 3166-1 alpha-3 代碼頁面。在“當前代碼”部分下,有一個國家列表及其相應(yīng)的代碼。CTRL + SHIFT + I您可以通過按chrome 上的組合鍵或右鍵單擊然后選擇“檢查”選項來打開 DevTools 。

      這是我在 chrome DevTools 中的列表:

      聊聊使用Node.js + Cheerio 怎么進行數(shù)據(jù)抓取

      在下一節(jié)中,您將編寫用于抓取網(wǎng)頁的代碼。

      第 5 步 – 編寫代碼以抓取數(shù)據(jù)

      在本節(jié)中,你將編寫用于抓取我們感興趣的數(shù)據(jù)的代碼。首先運行以下將創(chuàng)建app.js文件的命令。

      touch app.js

      成功運行上述命令將app.js在項目目錄的根目錄下創(chuàng)建一個文件。

      像任何其他 Node 包一樣,在開始使用它們之前,你必須首先require axios、cheerio和。你可以通過在剛剛創(chuàng)建pretty的文件頂部添加下面的代碼來做到這一點。app.js

      const axios = require("axios"); const cheerio = require("cheerio"); const pretty = require("pretty");

      在我們編寫用于抓取數(shù)據(jù)的代碼之前,我們需要學習cheerio. 我們將解析下面的標記并嘗試操作生成的數(shù)據(jù)結(jié)構(gòu)。這將幫助我們學習 Cheerio 語法及其最常用的方法。

      下面的標記是ul包含我們元素的li元素。

      const markup = ` <ul class="fruits">   <li class="fruits__mango"> Mango </li>   <li class="fruits__apple"> Apple </li> </ul> `;

      將上述變量聲明添加到app.js文件中

      如何在 Cheerio 中加載標記

      cheerio你可以使用該cheerio.load方法加載標記。該方法將標記作為參數(shù)。它還需要另外兩個可選參數(shù)。如果你有興趣,可以在文檔中閱讀有關(guān)它們的

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號