[英]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.