如何解决当我使用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);
});
});
但是为什么会出现这个错误呢?因为我在解决 then 块中的承诺后传递数据??
解决方法
因为您使用了 response
而您必须改用 response.data
:
let $ = cheerio.load(response.data);
实际上 response
返回从服务器收到的所有响应,但 response.data
只返回从 API 收到的数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。