节点请求:获取特定的类/ ID

时间:2017-06-05 18:27:15

标签: javascript node.js request node-request

我正在使用节点模块Request。我过去也使用了node-fetch,但request似乎更好。我希望能够记录具有特定ID / Class / Span的内容,您可以将其命名。这是我当前记录整个身体的代码。

const request = require('request');

request("https://discord.js.org/#/docs/main/stable/class/GuildMember", (err, response, body) => {
    if (err) console.log(err);

    console.log(body)
});

我想记录用户提供的任何Property的内容,假设他们提供bannable我想记录div#doc-for-bannable.class-prop.class-item的内容,但我不知道该怎么做此

编辑:

我尝试按照建议使用Cheerio,但它没有给我任何响应,只是我的控制台中的空白区域。我尝试的代码是:

request("https://discord.js.org/#/docs/main/stable/class/GuildMember", (err, response, body) => {
    if (err) console.log(err);
    const $ = cheerio.load(body);

    const g = $('docs-page'); // this doesn't work either, after trying '#doc-for-bannable`

    const gText = g.text();

    console.log(gText)
}); 

1 个答案:

答案 0 :(得分:0)

底层请求页面在使用XHR / ajax请求从后端请求数据后构建DOM。

因此,当您使用'request'时,页面加载时不会触发XHR

但是,如果仔细查看“网络”标签,您会遇到 https://raw.githubusercontent.com/hydrabolt/discord.js/docs/stable.json

这包含您要查找的数据。 您可以对此URL使用nodejs'request'并使用json