[英]How can I get the time of a crawled tweet ? Or crawl tweets for a specific time period
我正在嘗試使用以下代碼抓取推文:
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")
關於如何實現其中任何一個的任何想法?
我們可以使用函數twListToDF
將對象轉換為帶有詳細信息的數據幀。
tweets <- searchTwitter("#stackoverflow", n = 2, lang="fr")
tweetsDF <- twListToDF(tweets)
現在,要獲取推文的時間,請查看已created
列,該列將為您提供發送推文的時間。
要獲取具有特定持續時間的推文,我們可以使用searchTwitter
函數中的since
和until
參數
例如 -
searchTwitter("#stackoverflow",since = "2016-01-10" until = "2016-01-12")
這將為您提供這些日期之間的推文。
since
和until
只輸入格式YYYY-MM-DD
如果我們需要根據時間對推文進行子集,我們可以使用相同的created
列
tweetsDF[tweetsDF$created > as.POSIXct("2017-01-04 10:00:00") &
tweetsDF$created > as.POSIXct("2017-01-04 10:30:00"),]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.