2015-01-26 8 views
3

Я хочу собирать данные из твиттера в течение нескольких недель.twitter API limit limit

Для этого я использую RStudio сервера и кронтаб автоматически запускать несколько сценариев, как следующее:

require(ROAuth) 
require(twitteR) 
require(plyr) 

load("twitter_authentication.Rdata") 
registerTwitterOAuth(cred) 

searchResults <- searchTwitter("#hashtag", n=15000, since = as.character(Sys.Date()-1), until = as.character(Sys.Date())) 
head(searchResults) 

tweetsDf = ldply(searchResults, function(t) t$toDataFrame()) 
write.csv(tweetsDf, file = paste("tweets_test_", Sys.Date() - 1, ".csv", sep = "")) 

На несколько дней, я только несколько твитов (до 100) на хэштегом и так скрипт работает плавно. Однако в другие дни будут тысячи твитов для определенного хэштега (конечно, я не использую термин «хэштег», а термин, который мне нужен для моего исследования).

Я могу добавить retryOnRateLimit=10 в serchTwitter. Но когда я ищу несколько хэштегов каждый день, как я должен называть эти запросы в crontab?

Чтобы упорядочить эти запросы, мне нужно знать, сколько твитов я могу собрать, запустив скрипт один раз в течение 15-минутного интервала времени! Кто-нибудь знает ответ? (Конечно, в соответствии с предельными скоростями API Twitter, я могу сделать

180 запросов в окне

15 минут, но сколько твиты это?)

+0

Я просто попытался собрать вчерашние твиты, в которых упоминалось @WhiteHouse. После более чем 11 000 твитов я достиг предела скорости. – feder80

ответ

1

Вместо того, чтобы выполнить поиск каждые несколько минут, вы должны использовать Streaming API

Это обеспечит отправку в реальном времени всех данных, поступающих через Twitter. Вы можете установить фильтр для своего поискового запроса.

В этом нет предела скорости, вы просто делаете одно постоянное соединение, а Twitter доставляете образец всех твитов, соответствующих вашему поисковому запросу.

+0

Хорошо, но когда я хочу собирать данные в течение 4 месяцев, включая несколько хэштегов, разве это не проблема, когда у меня есть одно постоянное соединение? Это означает, что я не могу использовать RStudio Server в течение четырех месяцев! – feder80

+1

Нет, это не проблема. Настройте сервер, дайте ему уникальные ключи API Twitter, затем начните мониторинг и сбросьте результаты в свою базу данных. –