PythonのTwitter APIラッパー、python-twitterを使ってみました。
% sudo easy_install python-twitter
import twitter
api = twitter.Api()
statuses = api.GetUserTimeline('user_name')
print 'statuses'
print statuses
print '-'*20
for s in statuses:
print 'status:'
print s.text
return statuses
発言は取れますが、twitter.Statusにin_reply_to_user_id, in_reply_to_status_idが無いので、会話の流れがよくわからない。
ということでパッチを書きました。
--- twitter.py 2007-07-16 02:38:54.000000000 +0900
+++ twitter.py 2008-09-11 13:50:12.000000000 +0900
@@ -41,7 +41,9 @@
id=None,
text=None,
user=None,
- now=None):
+ now=None,
+ in_reply_to_user_id=None,
+ in_reply_to_status_id=None):
'''An object to hold a Twitter status message.
This class is normally instantiated by the twitter.Api class and
@@ -66,6 +68,8 @@
self.text = text
self.user = user
self.now = now
+ self.in_reply_to_user_id = in_reply_to_user_id
+ self.in_reply_to_status_id = in_reply_to_status_id
def GetCreatedAt(self):
'''Get the time this status message was posted.
@@ -281,7 +285,9 @@
return Status(created_at=data.get('created_at', None),
id=data.get('id', None),
text=data.get('text', None),
- user=user)
+ user=user,
+ in_reply_to_user_id=data.get('in_reply_to_user_id', None),
+ in_reply_to_status_id=data.get('in_reply_to_status_id', None))
class User(object):
これで返信先も表示できます。
import twitter
def run():
api = twitter.Api()
statuses = api.GetUserTimeline('user_name')
for s in statuses:
print 'status:'
if s.in_reply_to_status_id:
status = api.GetStatus(s.in_reply_to_status_id)
print '> (%s) ' % status.user.screen_name, status.text
print s.text
return statuses
if __name__=='__main__':
run()

No Comments yet »
コメント RSS TrackBack URI
コメントをどうぞ