【问题标题】:collecting random twitter conversations with criteria收集带有标准的随机 Twitter 对话
【发布时间】:2012-11-23 01:55:14
【问题描述】:

我需要收集“组”推文,即用于我的研究的推特对话;

集合也需要满足条件

  • 其中的推文数量,以及
  • 参与人数。

我查看了 Twitter Streaming API、twitter-stream gem,但我发现它们都不适合我的目的。

有什么简单的方法可以实现这个目标吗?

【问题讨论】:

  • 你在挖掘相关评论吗?

标签: twitter tweets


【解决方案1】:

你的出发点是什么?你将如何判断一条推文是否符合你的标准?

一旦你完成了,它就相当简单了。

  • 获取作为对话起点的推文。
  • 搜索对该推文的回复。
    • Twitter 不允许您搜索“in_reply_to”,但您可以搜索提及“@user”的所有人并按“in_reply_to”过滤
  • 递归重复。

您最终会得到一棵以起始推文为根节点的树。您应该能够遍历树以查看有多少唯一用户以及有多少推文。

【讨论】:

  • 有推荐的工具吗?还是我应该自己处理 twitter API?仅 twitter 流 API 就足以做到这一点吗?
  • 常规 API 将允许您提取特定的推文和回复。您打算使用哪种语言?
  • 最有可能是 Python。它还可以在没有特定查询的情况下提取随机推文及其回复吗?我还听说每条推文检索之间有 28 秒的强制暂停,这将极大地延长整个过程。是否有解决方法,还是不可避免?非常感谢您的回复。
  • 是的,有一个“示例”API 调用 - dev.twitter.com/docs/api/1.1/get/statuses/sample - 至于 28 秒,我从未听说过,文档也没有提及(尽管可能有其他速率限制)dev.twitter.com/docs/faq#6861
  • 谢谢,我会在 16 小时内给你赏金 :) 顺便说一句,推文检索通常是通过 URL 请求完成的吗?如果我用 Python 来使用 twitter api,会不会是个好主意?
【解决方案2】:

看来你和我有同样的目的,我已经为它编写了一些 python 代码。 https://github.com/song9446/twitter-corpus-crawler-python

用法:

from tccp import search_conversation
# fetch 10 conversations in english
for conversation in search_conversation({"l": "en"}, 10): 
    for tweet in conversation:
        print(tweet["author"] + ": " + tweet["contents"])

虽然这是一个旧线程,但我希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    相关资源
    最近更新 更多