【发布时间】:2019-10-11 11:54:44
【问题描述】:
我使用第三方爬虫工具从网站上爬取了一些内容,爬取后我成功获取了.json文件。我的jsoncontent 如下图所示:
{
"name": "Mi Band 3 (Black)",
"price": "₹ 1,899.00",
"rating_count": "22,438",
"MRP": "₹ 2,199.00",
"saved_amount": "₹ 300.00 (14%)"
}
爬取了很多这样的产品,你可以看到price,MRP和rating_count是String类型的,我想改成数字类型,也想遍历price,rating_count, & MRP 字段删除不需要的字符。我想我可以使用Node.js 来做到这一点,但我是脚本语言的新手,包括Node.js,在检查了一些Node.js 基础知识后,我已经使用下面的代码从.json 文件中读取了内容,并且工作了
var fs = require('fs');
fs.readFile('run_results.json','utf8', function (err, data) {
if (err) throw err;
console.log('Data here =>', data);
});
但是当我搜索时我找不到任何特定的解决方案,请提供一些提示以完成我的任务,谢谢。
【问题讨论】:
-
实际上,一旦你得到数据中的东西,它只是字符串操作,只是把它当作字符串来玩。
-
首先需要将 JSON 转为对象:
const obj = JSON.parse(data);。现在您可以更改其内容:obj.rating_count = parseInt(obj.rating_count) -
你不能在
"₹ 1,899.00"上使用parseInt,parseInt("₹ 1,899.00")是NaN。首先从字符串中删除除小数点以外的所有非数字
标签: node.js json web-crawler