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