2
我想抓住使用Topsy Otter api的推文,所以我可以对它进行一些数据挖掘以供我的论文使用。JSON到R数据挖掘
到目前为止,我有:
library(RJSONIO)
library(RCurl)
tweet_data <- getURL("http://otter.topsy.com/search.json?q=PSN&mintime=1301634000&perpage=10&maxtime=1304226000&apikey=xxx")
fromJSON(tweet_data)
工作正常。然而,现在我想从这个文件'content'和'trackback_date'返回一些细节。我似乎无法弄清楚 - 我曾尝试过几个例子,但无法提取我想要的东西。
这是我到目前为止已经试过:
trackback_date <- lapply(tweet_data$result, function(x){x$trackback_date})
content <- lapply(tweet_data$result, function(x){x$content})
任何帮助将不胜感激,谢谢。
编辑 我也曾尝试:
library("rjson")
# use rjson
tweet_data <- fromJSON(paste(readLines("http://otter.topsy.com/search.json?q=PSN&mintime=1301634000&perpage=10&maxtime=1304226000&apikey=xxx"), collapse=""))
# get a data from Topsy Otter API
# convert JSON data into R object using fromJSON()
trackback_date <- lapply(tweet_data$result, function(x){x$trackback_date})
content <- lapply(tweet_data$result, function(x){x$content})
现货。谢谢。你能解释一下这里发生了什么吗? – Coffeee
'fromJSON'处理'tweet_data'并返回'list'有两个元素:'request'和'response'。反过来,'response'是一个包含8个元素的列表,我们对'list'感兴趣。因此,'fromJSON(tweet_data)$ response $ list'向我们提供了原始数据的列表。然后我们用'sapply'提取它的元素。 – redmode
谢谢雷德蒙德。我该如何去做大量的“获得”? I.e每个geturl都会返回100条推文,如果我想这样做10次以获得1000条推文,我会如何将它们全部添加到一个'tweet_data'中? – Coffeee