1

对于我的研究,我想生成特定用户发布的推文的概述(最近和历史 - 通过高级搜索)。我没有编码经验,所以从一些非常基本的视频开始解释可能性。由于我想搜索 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)添加为搜索词,无论有没有@,但这并没有给我那个特定帐户的推文。

有没有人有这方面的经验?

4

1 回答 1

1

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

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

设置SEARCH_TERM为用户句柄。您也可以达到COUNT200 个。

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

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

对于任何一种类型的请求,也可以获得比规定的最大计数更多的结果。为此,您将需要使用 Twitter 的方法来获取连续的结果页面。TwitterAPI有一个帮助类来为你做这件事。可以在此处找到一个简短示例,可以对其进行修改以使用高级搜索请求或用户时间线请求。

于 2020-06-21T15:11:35.583 回答