【发布时间】:2020-06-29 18:02:22
【问题描述】:
我有一个非常大的 xml 文件,我是通过从计数中导出所有数据获得的,我正在尝试使用 web 抓取来使用cheerio 从我的代码中获取元素,但是我在格式化或类似的东西上遇到了问题。使用 fs.readFileSync() 读取它可以正常工作,并且 console.log 显示完整的 xml 文件,但是当我使用 fs.writeFileSync 写入文件时,它看起来像这样:
我的网页抓取代码输出空文件:
const cheerio = require('cheerio');
const fs = require ('fs');
var xml = fs.readFileSync('Master.xml','utf8');
const htmlC = cheerio.load(xml);
var list = [];
list = htmlC('ENVELOPE').find('BODY>TALLYMESSAGE>STOCKITEM>LANGUAGENAME.LIST>NAME.LIST>NAME').each(function (index, element) {
list.push(htmlC(element).attr('data-prefix'));
})
console.log(list)
fs.writeFileSync("data.html",list,()=>{})
【问题讨论】:
-
只是为了确认一下,当你说你的网页抓取代码输出一个空文件时,你的意思是在执行结束时,data.html 是空的?
标签: node.js xml web-scraping cheerio tally