问题标签 [twarc2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
256 浏览

python - 使用 Twitter API V2 获取推文 ID 列表的所有转推的最有效方法是什么

我有一个推文 ID 列表 ( tids.csv),我需要收集所有转推。由于我们无法在 v2 API 中直接检索特定推文的转推,因此我必须获取特定用户(我的 tid 文件中推文的用户)的所有转推,然后过滤掉我们感兴趣的特定推文的转推in. 这是我用来获取所有用户转推的命令:

其中 usernames.txt 是一个包含用户名列表的文本文件。

注意:我使用的是 v2 API,因为 v1 API 的限制是只能检索 100 条最近的转推,但我需要所有转推。

问题:

~17 thousand unique usernames我的输入文本文件中,我发现获取这么多用户的所有转推需要很长时间和很大的空间。例如,只为约 600 名用户收集转推需要几天时间和约 5 GB 的空间。

问题:就时间和空间而言,获得所有转发的最有效方法是什么?

上面的命令检索每个用户的所有推文的所有转推,而我只需要我的数据集 (tids.csv) 中特定推文的所有转推。

可能的解决方案:这是我想做的事情:

对于 username.txt 中的每个用户:

  1. 检索用户的所有转推(将开始时间和结束时间设置为我感兴趣的时间范围)
  2. 仅保留在文件中找到其源推文 ID 的转推,tid.csv并删除其余部分。这可以通过将referenced_tweets字段中的 id 与 tid.csv 文件中的 id 匹配来完成)
  3. 对于每个剩余的转推,只从字典中提取我想要的 json 字段。
  4. 将字典写入文件

有人可以帮我在 Python 中做到这一点(使用 twarc2 作为库)吗?即使有一个示例/教程开始,我也很感激..

谢谢,

0 投票
1 回答
74 浏览

twitter - 使用 twarc 时如何避免 dquote?

我正在尝试在这样的终端上使用 twarc2 获取推文。

但是,在我提出上面的请求后,我得到了

当您使用单引号和双引号时,似乎会出现这种情况。我怎样才能避免这种情况?

0 投票
1 回答
31 浏览

python - twarc2 csv 返回 TypeError: applymap() got an unexpected keyword argument 'na_action'

我正在尝试通过命令行使用 twarc2 csv 将下载的 .jsonl 文件转换为 csv 文件。但是,运行所需的 twarc2 csv 命令会返回以下类型错误:applymap() 得到了意外的关键字参数“na_action”(见附图)。我在一篇相关文章中看到更新熊猫应该会有所帮助,但即使在更新熊猫之后也会出现错误。这也是我关于堆栈溢出的第一篇文章,所以如果您需要更多信息,请告诉我。提前谢谢了!

命令行类型错误

0 投票
0 回答
15 浏览

python - 如何使用 Twitter API Python 检查大量用户列表是否是 Twitter 上目标用户的小字典的朋友

因此,我有一个大约 6k 个用户名的列表,我需要检查这些用户名是否在关注大约 20 个名称的目标列表中的任何人。我不知道如何有效地做到这一点,因为似乎速率限制每 15 分钟限制我 15 个用户?我尝试遍历 6k 用户的每个关注者并检查是否弹出目标名称,但我很快就受到了速率限制,当我尝试使用 show_friendship() 函数时也会发生同样的事情。有没有任何后勤有效的方法来做到这一点?谢谢!

0 投票
1 回答
59 浏览

python - Twitter API 的时间线长度()

我正在尝试从特定用户那里获取所有推文:

但是,len(dict(new_tweets))不起作用。它总是返回 0。sum(1 for dummy in new_tweets)也返回 0。

我试过json.load(new_tweets)了,它也不起作用。

但是,alltweets.extend(new_tweets)工作正常。

似乎timeline()返回了一个生成器类型的值(<generator object Twarc2._timeline at 0x000001D78B3D8B30>)。有什么方法可以计算它的长度以确定是否还有更多未抓取的推文?

或者,有什么方法可以合并...

while...与?成一条线


编辑:我在 while 循环之前尝试过print(list(new_tweets)),它返回[]. 看起来对象实际上是的。

是因为alltweets.extend(new_tweets)以某种方式消耗了 new_tweets 生成器......?

0 投票
0 回答
87 浏览

python - 在字符''''(位置 1)没有可行的替代方案

我正在尝试在 Jupyter 笔记本中使用 twarc 来访问 Twitter API 和存档 Twitter JSON 数据。出于某种原因,我收到一条错误消息。直接从命令提示符执行此操作时,命令执行没有问题。这是我使用的代码。

这是我收到的错误。

我将不胜感激有关如何解决此问题的任何说明。

0 投票
1 回答
30 浏览

python - 如何用 Python 为推文补水?

我想为 covid-19 推文 ID CSV 文件补充水分。我尝试关注https://theneuralblog.com/hydrating-tweet-ids/进行补水。我正在使用 Jupyter 笔记本,逐行运行。但是当我编码时出现错误:

错误消息显示:

1 t = Twarc(consumer_key,consumer_secret,access_token,access_token_secret)中的 KeyError Traceback(最近一次通话)2 t.hydrate 中的推文(打开('/Users/peggyleung95/Desktop/FYP/Untitled Folder/corona_tweets_theta.csv') ): ----> 3 打印(tweet['text']) 4 打印(tweet['id']) 5

键错误:'文本'

0 投票
0 回答
14 浏览

twitter - 如何使用 twarc 从包含许多 .txt 文件的目录中补充 Tweet Id 并将它们保存为 csv 文件(python)

我一直在使用 DocNow hydrator ( https://github.com/DocNow/hydrator ) 来为包含 Tweet ID 的 txt 文件中的推文添加水合物。现在,我在一个文件夹中有 100 多个 txt 文件,使用 hydrator 应用程序非常麻烦,因为我必须逐个文件处理这个文件。相反,我想编写一个 python 脚本来循环遍历所有的 txt 文件,对它们进行水合并将它们中的每一个保存到一个 csv 文件中。

制作一个巨大的 txt 文件是不可行的,因为我正在处理超过 10 亿条推文,而且我将无法用 excel 打开生成的 csv 文件(尽管可能有我不知道的方法),因为它太大了。

有人可以帮助我使用 twarc ( https://github.com/DocNow/twarc ) 编写这样的脚本吗?我对python很陌生,不知道该怎么做。非常感谢您!

0 投票
0 回答
7 浏览

python - 每天获得均衡数量的推文

我正在使用 twitter 客户端 twarc,它接受 aquery和 a start_timeend_time并在该时间范围内获取推文。问题是,它从最近一次检索许多推文,并且在遇到条件(例如,页数或max_results)时停止,因此结果不平衡。我将如何拥有它,以便它在一个时间范围内每天获得 X 条推文?

我可以运行一段时间而不是提前中断,但我使用的是沙盒模式,我担心我会达到限制。我能想到的唯一方法是有一个从 开始的循环,start_time在每个循环之后添加一天,获得 X 条推文,当它到达 时end_time,它会停止/中断。但我猜这似乎不是很有效。