目标:使用NodeJS读取文件的部分/特定部分。
我的代码:
fs = require('fs')
fs.readFile('/test/index.html', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
});
问题:这是读取整个文件。我想阅读html文件的 body 标签之间的文字。
在控制台中输出
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2>Card</h2>
<div class="card">
<img src="https://www.w3schools.com/howto/img_avatar.png" alt="Avatar" style="width:100%">
<div class="container">
<h4><b>John Doe</b></h4>
<p>Engineer</p>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您需要解析文本,并提取所需的部分。
使用Regex可能但problematic。 对于解析html,建议使用cheerio(参见示例),在您的情况下(按节点选择),您也可以使用&#34; simple&#34; xml阅读器为xml2js。
使用cheerio:
const cheerio = require('cheerio')
fs = require('fs')
fs.readFile('/test/index.html', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
const $ = cheerio.load(data);
console.log($('body'));
});