用Twython获取推文的ID?

时间:2012-09-17 20:38:42

标签: python api twitter twython

我正在使用Twython(Twitter API的Python包装器,找到here。)

目标:我正在尝试创建一个搜索关键字的简单机器人,并回复包含关键字的推文。

示例:发送搜索请求以搜索#stackoverflow,回复其中包含#stackoverflow的推文“StackOverflow是最好的!”

问题:如果没有推文ID(在任何永久性推文的网址中找到),都无法回复推文。这方面的一个例子是发送任何推文并将某人链接到它。链接末尾的数字是推文ID。

我尝试过的事情:我可以尝试的并不多。我希望这个尽可能简单,没有复杂的解决方法。我确信有一些方法可以做到这一点,而不必走得太远。我已经用尽了Google和Twython的文档以及Twitter的API文档。 = /任何人

1 个答案:

答案 0 :(得分:5)

推文只是python词典,它们的内容完全与Tweet resource相呼应。因此,每条推文都有一个id_str键:

print tweet['id_str']

如果事情不清楚,你总是可以打印数据结构;我可以推荐pprint.pprint() function使嵌套的python结构更具可读性:

import pprint

pprint.pprint(tweet)

示例会话:

>>> from twython import Twython
>>> t = Twython()
>>> res = t.search(q='python')
>>> res.keys()
[u'next_page', u'completed_in', u'max_id_str', u'since_id_str', u'refresh_url', u'results', u'since_id', u'results_per_page', u'query', u'max_id', u'page']
>>> from pprint import pprint
>>> pprint(res[u'results'][0])
{u'created_at': u'Mon, 17 Sep 2012 21:01:12 +0000',
 u'from_user': u'Me_Craay_GOOFY',
 u'from_user_id': 230100184,
 u'from_user_id_str': u'230100184',
 u'from_user_name': u'\u06deSuperFLY_PUER\u06de\u2122',
 u'geo': None,
 u'id': 247802407529115649,
 u'id_str': u'247802407529115649',
 u'iso_language_code': u'en',
 u'metadata': {u'result_type': u'recent'},
 u'profile_image_url': u'http://a0.twimg.com/profile_images/2617747450/345616051_normal.jpg',
 u'profile_image_url_https': u'https://si0.twimg.com/profile_images/2617747450/345616051_normal.jpg',
 u'source': u'<a href="http://globalgrind.com">UncleUber for Blackberry</a>',
 u'text': u'RT @Mr_Oyato: #ViolentPrayers May the python of breakthrough swallow you and your household today.',
 u'to_user': None,
 u'to_user_id': 0,
 u'to_user_id_str': u'0',
 u'to_user_name': None}
>>> res[u'results'][0]['id_str']
u'247802407529115649'