【发布时间】:2019-09-04 12:35:12
【问题描述】:
所以,我正在尝试制作一个 discordbot,以每 x 次检查一次游戏是否在某人的愿望清单上打折。但我无法让cheerio 阅读页面的某些属性。例如,如果我记录“.wishlist_row”,它将是空日志。此外,当我尝试记录整个页面文本时,它不会记录游戏名称和价格......我如何抓取这些数据?
我试过了:
console.log("Starting to log Steam wishlists updates!")
setInterval(function () {
request("https://store.steampowered.com/wishlist/id/myusername/#sort=order", async (error, response, html) => {
if (!error && response.statusCode === 200) {
const $ = cheerio.load(html);
console.log($('.wishlist_row').text())
$('.wishlist_row').each((i, element) => {
console.log($(element).find('.discount_pct'))
})
}
})
}, 1000)
【问题讨论】:
-
html参数的值是多少?你确定它是一个 HTML 字符串吗? console.log 出来看看 -
我做到了,我登录了 html.text(),它只显示了选择语言、帐户名称等内容。但没有关于愿望清单的内容......
-
在对 HTML 字符串使用 Cheerio 之前,您是否以编程方式登录到相应的帐户?我可能是您在一个没有登录帐户的页面上使用cheerio
-
我无需登录即可获得 hte 链接,我有自己的愿望清单向所有人开放,因此无需登录即可访问它。
-
作为 CSS 选择器的测试,您是否能够从同一个 DOM 中进行选择,使用 jQuery 并获得您想要的结果?
标签: node.js discord.js cheerio steam