我正在使用Twython(Twitter API的Python包装器,找到here。)
目标:我正在尝试创建一个搜索关键字的简单机器人,并回复包含关键字的推文。
示例:发送搜索请求以搜索#stackoverflow
,回复其中包含#stackoverflow
的推文“StackOverflow是最好的!”
问题:如果没有推文ID(在任何永久性推文的网址中找到),都无法回复推文。这方面的一个例子是发送任何推文并将某人链接到它。链接末尾的数字是推文ID。
我尝试过的事情:我可以尝试的并不多。我希望这个尽可能简单,没有复杂的解决方法。我确信有一些方法可以做到这一点,而不必走得太远。我已经用尽了Google和Twython的文档以及Twitter的API文档。 = /任何人
答案 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'