我在使用 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= 收到的数据]