【问题标题】:Using TwitterAPI (python) to search tweets from specific users使用 TwitterAPI (python) 搜索来自特定用户的推文
【发布时间】:2020-10-05 23:53:05
【问题描述】:

对于我的研究,我想生成特定用户发布的推文的概述(最近和历史 - 通过高级搜索)。 我没有编码经验,所以从一些非常基本的视频开始解释可能性。 由于我想搜索 twitter 的历史档案,我得出结论 tweepy 不是最好的选择,并且一直在按照教程来使用 TwitterAPI。我最终得到以下结果:

SEARCH_TERM = 'example'
COUNT = 100

r = api.request('search/tweets', {'q': SEARCH_TERM, 'count': COUNT})

a = 1
for item in r.get_iterator():
    print(a)
    print(item['text'] if 'text' in item else item)
    a=a+1
print('\nQUOTA: %s' % r.get_quota())

但是,我似乎不知道如何搜索一个特定的用户名,而不是一个通用的搜索词。我试图将用户名(twitterhandle)添加为搜索词,无论有没有@,但这并没有给我那个特定帐户的推文。

有人有这方面的经验吗?

【问题讨论】:

    标签: twitterapi-python


    【解决方案1】:

    您需要使用statuses/user_timeline 请求。只需对示例代码进行以下更改:

    r = api.request('statuses/user_timeline', 
                    {'screen_name':SEARCH_TERM, 'count':COUNT})
    

    将SEARCH_TERM 设置为用户句柄。您也可以将COUNT 提高到 200。

    您应该知道statuses/user_timeline 和search/tweets 都不是Premium Search 请求。要提出高级搜索请求,您需要来自 Twitter 的授权,然后您将对您的示例进行此更改:

    r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL), 
                    {'query':'from:'+SEARCH_TERM, 'maxResults':500})
    

    对于任一类型的请求,也有可能获得比规定的最大计数更多的结果。为此,您将需要使用 Twitter 的方法来获取连续的结果页面。 TwitterAPI 有一个助手类可以为您执行此操作。可以在here 找到一个简短的示例,并且可以对其进行修改以使用高级搜索请求或用户时间轴请求。

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 2013-06-18
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 2018-06-04
      • 1970-01-01
      相关资源
      最近更新 更多