【发布时间】:2020-09-29 09:23:10
【问题描述】:
所以,我设法从 URL 中获取了我想要的一切。现在我想将该对象写入“verified.json”文件中。问题是,我的对象中只有最后一项被写在那里,还有一点,表明它显然在某个地方坏了。
我是这方面的新手,因此非常感谢您对解决方案的解释。
const axios = require("axios");
const cheerio = require("cheerio");
const fs = require('fs');
const colors = require("colors");
prodArray = {};
axios.get("https://arstechnica.com/gadgets/").then(urlResponse => {
const $ = cheerio.load(urlResponse.data);
$('li.article').each((i, elem) => {
const link = $(elem).find("a.overlay").attr("href");
//console.log(link.cyan);
const header = $(elem).find("h2").text();
//console.log(header);
const author = $(elem).find("p.byline").find("a").text();
//console.log(author);
console.log("---------------\n".red);
data = {
"Link: ": link,
"Title: ": header,
"Author: ": author
}
let dataStringfy = JSON.stringify(data);
let test = fs.writeFile("verified.json", dataStringfy, function (err) {
if (err) {
console.log(err)
} else {
console.log("Success")
}
})
console.log(test);
})
})
【问题讨论】:
-
dataStringify是什么样的?这个值是不是已经有错误了?
标签: javascript object web-scraping axios cheerio