javascript - 将 Cheerio.load() 转换为 DOM 对象
问题描述
我正在尝试学习如何制作网络爬虫并使用 node.js 将网站中的内容保存到文本文件中。我的问题是要获取内容,我使用的是 Cheerio 和 jquery(我认为?),我没有经验。我正在尝试获取从cheerio 获得的结果并将其转换为我有更多处理经验的DOM 对象。如何从cheerio 获取 html 并将其转换为 DOM 对象?提前致谢!
const request = require('request');
const cheerio = require('cheerio');
request('https://www.wuxiaworld.com/novel/overgeared/og-chapter-153',(error, response, html) => {
if(!error & response.statusCode == 200) {
const $ = cheerio.load(html);
console.log(html);
html.getElementsByClassName('fr-view')[1];//I want the ability to do this
}
})
解决方案
您正在使用cheerio,那里的第一个示例向您展示了如何添加一个类并使用 HTML 获取一个字符串。
您可以将代码更改为如下所示:
const request = require('request');
const cheerio = require('cheerio');
request('https://www.wuxiaworld.com/novel/overgeared/og-chapter-153',(error, response, html) => {
if(!error & response.statusCode == 200) {
const $ = cheerio.load(html);
const result = $('.my-calssName').html(); // cheerio api to find by css selector, just like jQuery.
console.log(result);
}
})