使用Python从Twitter获取带有特定标签的推文

6

如何根据哈希标签查找或获取推文。也就是说,我想查找与某个主题相关的推文?在Python中使用Twython是否可行?

谢谢。


1
请查看以下链接。我稍微工作了一下,可能会有所帮助。https://plus.google.com/u/0/b/112388584507961481820/112388584507961481820/posts - Prabhat Kumar
1个回答

20

编辑 我的原始解决方案使用了 Twython 的搜索 API 钩子,但似乎不再有效,因为 Twitter 现在要求用户进行身份验证才能使用搜索。要通过 Twython 进行经过身份验证的搜索,只需在初始化 Twython 对象时提供您的 Twitter 身份验证凭据即可。下面,我会贴出一个示例,以展示如何做到这一点,但你需要查阅 Twitter API 文件中有关 GET/search/tweets 的不同可选参数,以便在搜索中分配它们(例如,设置日期范围、翻页等)。

from twython import Twython

TWITTER_APP_KEY = 'xxxxxx'  #supply the appropriate value
TWITTER_APP_KEY_SECRET = 'xxxxxx' 
TWITTER_ACCESS_TOKEN = 'xxxxxxx'
TWITTER_ACCESS_TOKEN_SECRET = 'xxxxxx'

t = Twython(app_key=TWITTER_APP_KEY, 
            app_secret=TWITTER_APP_KEY_SECRET, 
            oauth_token=TWITTER_ACCESS_TOKEN, 
            oauth_token_secret=TWITTER_ACCESS_TOKEN_SECRET)

search = t.search(q='#omg',   #**supply whatever query you want here**
                  count=100)

tweets = search['statuses']

for tweet in tweets:
  print tweet['id_str'], '\n', tweet['text'], '\n\n\n'

原始回答

Twython文档中所示, 您可以使用Twython访问Twitter搜索API:

from twython import Twython
twitter = Twython()
search_results = twitter.search(q="#somehashtag", rpp="50")

for tweet in search_results["results"]:
    print "Tweet from @%s Date: %s" % (tweet['from_user'].encode('utf-8'),tweet['created_at'])
    print tweet['text'].encode('utf-8'),"\n"

请注意,对于任何给定的搜索,您最多只能检索大约2000条推文,最多可回溯一两周。您可以在此处了解更多有关Twitter搜索API的信息。

usr/local/lib/python2.7/dist-packages/twython-2.5.5-py2.7.egg/twython/twython.pyc 中的 get(self, endpoint, params, version) 方法 236237 def get(self, endpoint, params=None, version='1.1'):--> 238 return self.request(endpoint, params=params, version=version)239 240 def post(self, endpoint, params=None, files=None, version='1.1'): - Uselesssss
在Python2.7下的路径"/usr/local/lib/python2.7/dist-packages/twython-2.5.5-py2.7.egg/twython/twython.pyc"中,请求函数为request(self, endpoint, method, params, files, version),其中endpoint是终端点,method是方法类型,params是参数,files是文件,version是版本号。如果满足条件,则构造url并通过_request()函数进行请求,最后返回内容content。 - Uselesssss
1
嘿,谢谢Benjamin..................干杯。我欠你一瓶啤酒,伙计。 - Uselesssss
第二部分的文档链接已经失效,请尽快更新答案。 - Bhargav Rao
一个目前可用的文档链接似乎有一些相同的信息,它是 https://github.com/ryanmcgrath/twython/blob/master/docs/usage/basic_usage.rst - alttag
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接