首页 > 解决方案 > 将 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

}
})

标签: javascriptjquerydomweb-scrapingcheerio

解决方案


您正在使用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);
  }
})

推荐阅读