Подключитесь к Twitter Streaming API, используя R - PullRequest
2 голосов
/ 23 ноября 2011

Я только начал играть с Twitter Streaming API и, используя командную строку, перенаправить необработанные отклики JSON в файл, используя следующую команду:

curl https://stream.twitter.com/1/statuses/sample.json -u USER:PASSWORD -o "somefile.txt"

Возможно ли полностью остаться в R ииспользовать RCurl, чтобы сделать то же самое?Вместо того, чтобы просто сохранять выходные данные в файл, я хотел бы проанализировать каждый ответ, который возвращается.Я анализировал результаты поиска в Твиттере в прошлом, но я хотел бы делать это при получении каждого ответа.По сути, применяйте функцию к каждому ответу JSON.

Заранее спасибо.

РЕДАКТИРОВАТЬ: Вот код, который я пробовал в R (я, к сожалению, на Windows)Мне нужно включить ссылку на файл .pem, чтобы избежать ошибки.Тем не менее, код просто «работает», и я не могу видеть, что возвращается.Я пробовал печатать, кот и т. Д.

download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
getURL("https://stream.twitter.com/1/statuses/sample.json", 
       userpwd="USER:PWD",
       cainfo = "cacert.pem")

Ответы [ 2 ]

5 голосов
/ 29 ноября 2011

Я смог понять основы, надеюсь, это поможет.

#==============================================================================
# Streaming twitter using RCURL
#==============================================================================
library(RCurl)
library(rjson)

# set the directory
setwd("C:\\")

#### redirects output to a file
WRITE_TO_FILE <- function(x) {

     if (nchar(x) >0 ) {
          write.table(x, file="Twitter Stream Capture.txt", append=T, row.names=F, col.names=F)
     }

}

### windows users will need to get this certificate to authenticate
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")

### write the raw JSON data from the Twitter Firehouse to a text file
getURL("https://stream.twitter.com/1/statuses/sample.json", 
       userpwd=USER:PASSWORD,
       cainfo = "cacert.pem", 
       write=WRITE_TO_FILE)
1 голос
/ 23 ноября 2011

Попробуйте пакет Twitter API для R.

install.packages('twitteR')
library(twitteR)

Я думаю, это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...