【问题标题】:convert cheerio.load() to a DOM object将 Cheerio.load() 转换为 DOM 对象
【发布时间】:2018-11-18 07:00:20
【问题描述】:

我正在尝试学习如何制作网络爬虫并使用 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

}
})

【问题讨论】:

    标签: javascript jquery dom web-scraping cheerio


    【解决方案1】:

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

    【讨论】:

    • 我只是以它为例,我的意思是我想将结果用作 DOM 对象
    • 字符串?或者DOM,据我所知,node中没有真正的DOM(没有jsdom),cheerio给你一个jquery之类的api来操作html结构。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2018-11-28
    • 2012-01-19
    • 2011-01-12
    • 2023-04-03
    • 1970-01-01
    • 2017-06-16
    相关资源
    最近更新 更多