我在使用 cheerio 时这个选择器出错
I've error with this selector when I'm using cheerio
我正在使用 node、express、cheerio 和 axios 创建一个简单的网络抓取工具。在此示例中,axios 有数据,但在使用 cheerio 加载数据后出现此错误:
(node:14056) UnhandledPromiseRejectionWarning: TypeError: content.forEach is not a function
抓取代码:
app.get('/users', (req, res) => {
axios('https://fake.com/users')
.then(response => {
let $ = cheerio.load(response);
let users = $('.users .user');
console.log(cards);
});
});
但是为什么会出现这个错误呢?因为我在 resolve then 块中的 promise 之后传递数据??
因为您使用了 response
而您必须改用 response.data
:
let $ = cheerio.load(response.data);
实际上response
returns 所有响应都已从服务器收到,但response.data
returns 只有从API.[=15= 收到的数据]
我正在使用 node、express、cheerio 和 axios 创建一个简单的网络抓取工具。在此示例中,axios 有数据,但在使用 cheerio 加载数据后出现此错误:
(node:14056) UnhandledPromiseRejectionWarning: TypeError: content.forEach is not a function
抓取代码:
app.get('/users', (req, res) => {
axios('https://fake.com/users')
.then(response => {
let $ = cheerio.load(response);
let users = $('.users .user');
console.log(cards);
});
});
但是为什么会出现这个错误呢?因为我在 resolve then 块中的 promise 之后传递数据??
因为您使用了 response
而您必须改用 response.data
:
let $ = cheerio.load(response.data);
实际上response
returns 所有响应都已从服务器收到,但response.data
returns 只有从API.[=15= 收到的数据]