2017-01-12 29 views
1

我想用下面的代碼抓取鳴叫:我怎樣才能獲得抓取推文的時間?或在特定時間抓取鳴叫期間

library("twitteR") 
library("ROAuth") 

consumer_key <- '###' 
consumer_secret <- '###' 
access_token <- '###' 
access_token_secret <- '###' 

setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_token_secret) 

search_string <- URLencode("#stackoverflow") 
no_of_tweets <- 2 
tweets <- searchTwitter(search_string, n = no_of_tweets, lang="fr") 
tweets 

它運作良好,但我得到的格式如下結果:

[[1]] 
[1] "Account: content of the tweet which contains #stackoverflow" 

[[2]] 
[1] "Another_account: content of that other tweet which contains #stackoverflow" 

這很好但我也想檢索推文發送的時間。這可能嗎?

或者,如果我可以在我的API調用中發送一段時間,我會沒事的。我知道這是可能的,例如:

search_string <- URLencode("#stackoverflow since:2017-01-04 until:2017-01-05") 

但我找不到如何比一天更精確。這是行不通的:

search_string <- URLencode("#stackoverflow since:2017-01-04T10:00:00 until:2017-01-04T10:30:00") 

任何想法如何實現這些?

回答

1

我們可以使用函數twListToDF將對象轉換爲具有細節的數據框。

tweets <- searchTwitter("#stackoverflow", n = 2, lang="fr") 
tweetsDF <- twListToDF(tweets) 

現在,讓鳴叫的時間看看created列,這將給你的鳴叫的發送時間。

要獲得鳴叫withing特定的時間,我們可以使用sinceuntil參數searchTwitter功能

例如 -

searchTwitter("#stackoverflow",since = "2016-01-10" until = "2016-01-12") 

這會給你這些日期間鳴叫。

sinceuntil採取僅輸入格式YYYY-MM-DD

如果我們需要子集基於時間的微博,我們可以用這樣的

tweetsDF[tweetsDF$created > as.POSIXct("2017-01-04 10:00:00") & 
          tweetsDF$created > as.POSIXct("2017-01-04 10:30:00"),] 
+0

相同created列'twListToDF()'是非常好的,謝謝。然而,如果'searchTwitter(「#stackoverflow」,since =「2016-01-10」until =「2016-01-12」)'works,'searchTwitter(「#stackoverflow」,since =「2016-01-10T10:00 :00「直到=」2016-01-12T14:00:00「)'不。您是否知道一種方法將小時/分鐘/秒傳遞給'since'和'until'字段?謝謝 –

+0

@fmalaussena查看我的更新。謝謝。 –

+0

當然,我可以做到這一點,但這只是要求所有的推文,然後在我的時間間隔過濾,我期待一種方法來調用我的時間間隔的API,沒有檢索任何推出的時間間隔... –

相關問題