在NodeJs

时间:2018-04-15 06:25:36

标签: node.js

目标:使用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> 

1 个答案:

答案 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'));
});