我試圖使用axios和cheerio從網頁中獲取不同文章的標題,但腳本總是拋出這樣的錯誤Error: cheerio.load() expects a string。我怎樣才能解決這個問題呢?
const axios = require('axios'/span>) 。
const cheerio = require('cheerio')。
const startLink = 'https://old.reddit.com/r/programming/';
const getPostTitles = (link)=>{
const resp = axios.get(link)。
const $ = cheerio.load(resp.data)。
const postTitles = [];
$('div > p.title > a').each((_idx, el) => /span> {
const postTitle = $(el).text()
postTitles.push(postTitle)
});
return postTitles;
};
const results = getPostTitles(startLink)。
console.log(results)。
uj5u.com熱心網友回復:
Axios.get()回傳一個承諾,所以你需要await它,或者使用.then()來獲得結果。我使用了下面的async/await語法,這將顯示帖子標題:
const axios = require('axios') 。
const cheerio = require('cheerio')。
const startLink = 'https://old.reddit.com/r/programming/';
const getPostTitles = async (link)=> {
const resp = await axios.get(link)。
const $ = cheerio.load(resp.data)。
const postTitles = [];
$('div > p.title > a').each((_idx, el) => /span> {
const postTitle = $(el).text()
postTitles.push(postTitle)
});
return postTitles;
};
async function testGetPostTitles() {
const results = await getPostTitles(startLink)。
console.log(results)。
}
testGetPostTitles()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/320243.html
標籤:
上一篇:網路報廢一個沒有類或ID的表
