node.js - 使用 Cheerio 操作 DOM

标签 node.js cheerio

据我所知,cheerio 的主要应用是网络抓取。有没有办法使用cheerio命令来操作和更新html?

request('http://localhost:3000', function (error, response, html) {
    if (!error && response.statusCode == 200) {
        $ = cheerio.load(html);
    }
    $('ul').append('<li class="plum">Plum</li>');
    $.html();
});

虽然上面的代码并不完全影响 html,但是有没有什么方法可以在 DOM 中进行更改,例如使用 $('ul').append('<li class="plum">Plum</li>')反射(reflect)在 HTML 上?

最佳答案

在您提供的代码片段中,所需的代码已经存在。它是$.html()。该语句的结果正是您所需要的。但是,如果您希望将该结果保存在请求的服务器上,那么这是另一个故事,并且会出现问题:

  • 您有权访问服务器内容吗?
  • 服务器如何形成请求:从静态文件还是动态?

关于node.js - 使用 Cheerio 操作 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31745136/

相关文章:

javascript - 无法使用jquery从函数中获取值

javascript - 如何避免 - 使用 Cheerio 进行网页抓取时出现错误 403

node.js - 无法在 ubuntu 16.04 的 80 端口运行我的 Node 应用程序

node.js - 重击 : npm: command not found?

javascript - 如何制作一个从 .json 文件加载其元素的嵌入 react 菜单?

javascript - 为什么这个 Cheerio 属性选择器不起作用?

json - 用 Cheerio 抓取,文字不可见

javascript - 在 express.js 启动之前运行异步函数

javascript - Express 中间件 : ERROR: TypeError: Converting circular structure to JSON

javascript - 如何将一组html元素包装在一个div中