如何继续使用rtweet包下载推文,同时也可以使用R Studio执行其他任务

时间:2018-02-12 21:45:51

标签: r api twitter streaming rtweet

刚刚安装了rtweet软件包并开始下载推文。我希望在接下来的20周内收集包含“腐败”一词的推文。然而,推文的流式传输和下载使R忙,我无法将其用于其他任务。有没有办法停止流媒体并再次继续,在我离开的时间点接听?

我当前的代码看起来像这样,效果很好:

library(rtweet)

consumer_key <- "xxxxxxxxxxx"
consumer_secret <- "xxxxxxxxx"
create_token(app = "xxxxx", consumer_key, consumer_secret, set_renv = TRUE)

twentyweeks <- 60L * 60L * 24L * 7L * 20L
corruption <- "Corruption"
stream_tweets2(q = corruption, parse = FALSE, timeout = twentyweeks, dir = "corruption-stream", append = TRUE)


rt <- parse_stream("stream-1.json")

另一个相关的问题是,如果我可以在这20周的时间内每天随机抽取一些推文。我觉得如果我继续下载包含“腐败”一词的所有推文,我最终会得到一个比我本地内存大几倍的数据库(但这也可能是一个非常错误的估计)。

非常感谢您的帮助! :)

2 个答案:

答案 0 :(得分:0)

我有相同的情况,并通过使用另一个适度的计算机设备,即覆盆子pi 3来管理,仅流和存储Twitter数据。我只需要安装R软件和rtweet包。然后我source()我的脚本使用:

来传输数据
`stream_tweets2(
                q = "your,keywords,please",
                #languange = "id",  # not really works
                parse = FALSE, 
                timeout = 7L * 24L * 60L * 60L,
                dir = "/your/dir/path/here",
                append = T  # arg will append new file for every 10.000 
                            # tweets streamed with a different file name
               )`

因为文件将被存储为每10 000条推文,我将获得几个文件,我可以为下一次处理进行采样。目前,我使用我的VNC将文件传输到我的处理笔记本电脑。如果您愿意,您还可以设法自动将流数据上传到云端。

P.S: 在raspberry pi 3上安装R将遇到更多用于raspbian的手动库安装。 使用官方repo几乎只安装一个过时的R版本。对于我2018年4月18日,它只能安装R版本。 3.3.3

答案 1 :(得分:0)

您不需要一台其他计算机。您可以有多个R实例并独立运行它们。您的stream_tweets2应该将推文保存到另一个实例中将要读取的文件中。