javascript - Node js 上的 Cheerio 出错

标签 javascript node.js request cheerio

我正在尝试使用 cheerio 解析代码并在 Node Js 上请求,但出现错误 undefined 我已经检查过了,这不是请求错误,它是 cheerio 这是我的解析代码的一部分。

            const options = Object.assign({
      url: buildUrl(opts),
      followAllRedirects: true
    }, opts.requestOptions);

    request(options, opts.throttle)
    .then(cheerio.load)
    .then(parseFields)
    .then(function (app) {
      resolve(app);
    })
    .catch(reject);
  });
}
 function parseFields ($) {

const h2 = $('faq_cat').attr('id')

const fields = {
  h2
};

我要解析的内容

              <div class="faq_cat" id="faq_box_faq2">

谢谢大家!)

error screenshot

Express 服务器应用程序代码:

const express = require('express')
const app = express()

var gplay = require('google-play-scraper');

gplay.download({downloadId: 'air.com.helloair.HELLOFROG',
nameid: 'digital-world-digimons'})
  .then(console.log, console.log);

app.listen(3000, () => console.log('Example app listening on port 3000!'))

consolelog

使用 console.log(h2) with console.log(h2)

代码屏幕 code

使用 console.log($.html());

console.log($.html()); 屏幕工作! enter image description here

最佳答案

您的选择器缺少

现在您正在寻找一个名为 faq_cat 的标签,它不存在。您想要选择具有类名 faq_cat

的元素

使用 const h2 = $('.faq_cat').attr('id')

关于javascript - Node js 上的 Cheerio 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293114/

相关文章:

node.js - 使用 Koa 进行子域路由?

file - 在php中使用multipart/form-data请求发送文件

scala - 如何在调度请求中获取响应头和正文?

javascript - 通过两个条件获取所有文本框值

javascript - Uncaught Error : _registerComponent(. ..) : Target container is not a DOM element. (...)

javascript - 为什么我的翻转动画在 chrome 和 safari 中不起作用?

Javascript : Send JSON Object with Ajax?

javascript - 将公共(public)对象追加到一个数组中并删除重复项

javascript - Node Telegram bot api,在用户之间进行链式对话

javascript - 通过socket发送和接收数据 : Node. JS服务器、Java客户端