【问题标题】:Twitter api searching tweets for hashtagsTwitter api 在推文中搜索主题标签
【发布时间】:2014-01-12 03:57:47
【问题描述】:

我是 twitter api 的新手,我花了很多时间试图弄清楚这一点。

我想从最近的推文中为给定的搜索词提取大量 (100k - 1m) 推文。我尝试使用 tweepy 并且能够设置流,但我也需要过去的数据。

我也尝试了以下代码,但它一次只能给我 100 个,我不明白如何使用 since_id 和 max_id 来浏览过去的推文。另外,如果有人知道如何从帖子中提取主题标签。目前我正在拆分帖子中的单词并使用“#”查找单词,但 api.search 有一个属性 'hash' 我不知道如何调用它。

results = api.search(q=movies[0],count=100,lang='en')

任何指导将不胜感激。

【问题讨论】:

  • 您根本无法使用 Twitter API。任何给定的查询最多只能返回 3200 条推文(最多 100 条)。
  • 即使我打开一个流并让它静置?我可以流式传输的数量有限制吗?另外,有没有其他方法可以绕过它?
  • 不,流是无限的,但如果你在谈论“但我也需要过去的数据”,那么搜索是你唯一的选择
  • API 返回的推文应该有一个“实体”元数据,列出推文中的标签。您还可以使用库来提取主题标签,例如 github.com/ianozsvald/twitter-text-python

标签: python search twitter hashtag tweepy


【解决方案1】:

您将需要使用 Tweepy 光标。要创建游标,请将 api 方法和任何参数传递给它:

cursor = tweepy.Cursor(api.search, q=movies[0], count=100, lang='en')

然后,遍历 Cursor 的 items 方法返回的结果。你可以传入一个可选的结果限制:

for item in cursor.items(limit=20): # the limit can be omitted  
    # do something with the item

【讨论】:

  • 我可以获得特定主题标签的推文数量吗?
【解决方案2】:

总存档限制为 3200 条推文,但每日限制为 1500 条。

【讨论】:

    【解决方案3】:

    您可以通过以下方式将其添加到result[]

    results = []
    #Get the first 1000 items based on the search query and store it
    for tweet in tweepy.Cursor(api.search, q='%23Trump').items(1000):
        results.append(tweet)
    

    【讨论】:

    • '%23' 对我有用,而带有关键字的直 '#' 不起作用
    猜你喜欢
    • 2020-11-17
    • 1970-01-01
    • 2012-10-21
    • 2015-03-22
    • 2013-06-26
    • 2012-12-03
    • 1970-01-01
    • 2016-07-10
    • 2017-06-07
    相关资源
    最近更新 更多