1

刚刚安装了 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 周内每天随机抽取推文样本。我有一种感觉,如果我继续下载所有包含“腐败”一词的推文,我最终会得到一个比我的本地内存大几倍的数据库(但这也可能是一个非常错误的估计)。

非常感谢您的帮助!:)

4

2 回答 2

0

我有同样的情况,并通过使用另一个适度的计算机设备(即 raspberry 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 将文件传输到我的处理笔记本电脑。如果您愿意,您还可以设法将流式数据自动上传到云中。

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

于 2018-04-19T04:05:07.260 回答
0

你不需要另外一台电脑。您可以拥有多个 R 实例并独立运行它们。您stream_tweets2应该将推文保存到您将在另一个实例中读取的文件中。

于 2018-11-26T21:10:20.570 回答