在服务器端使用 Node JS 解析 HTML [重复]

Posted

技术标签:

【中文标题】在服务器端使用 Node JS 解析 HTML [重复]【英文标题】:Parsing HTML with Node JS on Server Side [duplicate] 【发布时间】:2015-10-21 18:04:27 【问题描述】:

我正在尝试在不使用浏览器的情况下读取服务器上带有节点 js 的 html 文件的 div 内容。我也希望能够使用 jQuery 操作。

更具体地说,类似content.find("div.t")

有这样做的本地方法吗?

我尝试使用fs.readfilesync 读取服务器上的 html 文件并获取内容,但这给了我一个字符串,而不是我可以进行 jQuery 操作的 html。

谢谢。

【问题讨论】:

【参考方案1】:

应该以最简单的方式工作:

var $ = require('jquery');
var htmlFileString = <valid html of some sort>;

var rootElement = $(htmlFileString);
rootElement.find('div.t'); 

【讨论】:

我尝试如下: let stringContent = fs.readFileSync(path.join(__dirname, '../pdf/LabReport1.html'), 'utf8'); var rootElement = $(stringContent);我得到了错误:'throw new Error("jQuery 需要一个带有文档的窗口");' 那么我将向您推荐您的问题 cmets 中提到的可能重复项。似乎已经用 jsdom 解决了。 没错。我和cheerio一起做的。

以上是关于在服务器端使用 Node JS 解析 HTML [重复]的主要内容,如果未能解决你的问题,请参考以下文章

node-1

使用 HTTP/2 服务端推送技术加速 Node.js 应用

如何在 Node.js 中从客户端(例如 html 按钮 onclick)调用服务器端函数?

node.js 的服务器端模板

node基础

Node.js | 搭建后端服务器(含内置模块 http | url | querystring 的使用)