簡體   English   中英

web 抓取時Nodejs Cheerio返回未定義

[英]Nodejs cheerio returns undefined when web scraping

我試圖從一個名為 NSE 的網站上抓取數據,所以首先我嘗試在檢查元素控制台中進行操作:

(編輯問題) 在此處輸入圖像描述

objs = $('div[class="table-wrap"] > table > tbody > tr > td').slice(0, 8)
objs.map((i,element) => console.log($(element).text()))

我得到 output:

401.20
417.00
- 
411.45
361.10 
441.30 
No Band
-

所以我很高興,因為我得到了我想要的。 但是當我去我的 vscode 並嘗試為它制作一個腳本時,我猜同樣的代碼返回了一些隨機值。 下面是代碼:

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

const url = "https://www.nseindia.com/get-quotes/equity?symbol=SBIN";

async function getDataFromNse() {
    const { data } = await axios.get(url)
    let $ = cheerio.load(data)
    const objectArray = $('div[class="table-wrap"] > table > tbody > tr > td').slice(0, 8)
    objectArray.map((i,element) => console.log($(element).text()))
}

getDataFromNse()

我得到 output:

Indicative Equilibrium Price (In )
-
Indicative Equilibrium Quantity
-
Final Price (In )
                                                                    
-
Final Quantity
-

我不知道檢查員中的這些值在哪里。 在控制台中,我得到了正確的數值 如果有人可以提供幫助,我將不勝感激。 提前致謝。

innerText 是一個 DOM 節點屬性,因此瀏覽器具有這些屬性,而節點沒有。

要獲取cheerio 節點的文本,請使用:

$(element).text()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM