如何抓取JavaScript中的键值对 - Google Trends API

我正在使用google trends API最终将趋势数据导出到excel文件。问题是我只想提取关键字的格式化时间和值。如何抓取JavaScript中的键值对 - Google Trends API

JS不是我的强项。我如何只拉这些参数?或者有没有办法将这些参数分配给键值字典对?

谢谢。

JSON输出

{ 

"default": {

"timelineData":[

{

"time":"1511629200",

"formattedTime":"Nov 25, 2017 at 12:00 PM",

"formattedAxisTime":"Nov 25 at 12:00 PM",

"value":[44],

"formattedValue":["44"]

},

{

"time":"1511632800",

"formattedTime":"Nov 25, 2017 at 1:00 PM",

"formattedAxisTime":"Nov 25 at 1:00 PM",

"value":[41],

"formattedValue":["41"]

}

]

}

}

代码

'use strict'; 

const googleTrends = require('google-trends-api');

var animals = ['hamsters', 'puppies'];

for (var key in animals) {

console.log(animals[key]);

googleTrends.interestOverTime({

keyword: key,

startTime: new Date(Date.now() - (167.9 * 60 * 60 * 1000)),

granularTimeResolution: true,

}, function(err, results) {

if (err)

console.log('oh no error!', err);

else

console.log(results);

console.log("--------------------------")

});

}

回答:

这可能让您开始提取你想要什么:

theStuffIWant = []; 

for (each of output.default.timelineData) {

theStuffIWant.push({time: each.formattedTime, value: each.value[0]});

}

console.log(theStuffIWant);

// now you should have an array of the data you want.

注意,值看起来像他们在具有一个值的数组,因此需要使用[0]索引。还要注意,变量output应该替换为任何包含您的JSON数据的变量。

回答:

提取所需的数据转换成一个目的是遵循以功能性方式一键/值对图案与存在检查:

function extractTimeAndValue(data) { 

var timelineData = (data && data.default && data.default.timelineData) || [];

return timelineData.reduce(function(timeAndValueObject, timeline) {

var time = timeline.formattedTime;

var value = timeline.value;

return Object.assign(

{},

timeAndValueObject,

time && value ? {[time]: value} : {}

);

}, {});

}

以上是 如何抓取JavaScript中的键值对 - Google Trends API 的全部内容, 来源链接: utcz.com/qa/259635.html

回到顶部