質問
python2.7.10で、tweepyを先日使い始めました。
tweepyをpipで入れたので、バージョンは3.5.0だと思われます(調べ方がまだ分かっていない)。
streamingAPIで、タイムライン上の呟きから、画像データを抜いていきたいと思っています。
一応リファレンス(http://docs.tweepy.org/en/v3.5.0/api.html#tweepy-api-twitter-api-wrapper)を確認したのですが、
どうも、画像を取得するAPIがない模様。
と言うか、そもそもStreamingAPIの解説が載っていない!?
とりあえず、以下のサイト様のコードを整形しつつコピペしたら、タイムラインは取得できるようになりました。
(整形したプログラムは後ほど記載します。)
http://monowasure78.hatenablog.com/entry/2013/11/26/tweepy%E3%81%A7streaming%E3%82%92%E4%BD%BF%E3%81%86
しかし、この「status
」と言うものにはどのようなデータが入っていて、どのように抜き出しているのかが分かりません。
(オブジェクト指向がそもそも苦手で……N88BASIC育ちの人間なので……)
返ってきたデータから、画像を抜き出すにはどのようなメソッド?を使えば良いのでしょうか。
ご存じの方がいらっしゃいましたら、ご教示ください。
よろしくお願いいたします。
整形したプログラム
lang
1#!/usr/bin/env python 2# -*- coding: utf8 -*- 3 4import tweepy 5 6# 7# oAuth情報を取得 8# 9def get_oauth(): 10 consumer_key = "略" 11 consumer_secret = "略" 12 access_token = "略" 13 access_secret = "略" 14 15 auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 16 auth.set_access_token(access_token, access_secret) 17 return auth 18 19class myExeption(Exception): pass 20 21class StreamListener(tweepy.streaming.StreamListener): 22 23 def __init__(self): 24 super(StreamListener,self).__init__() 25 26 def on_status(self, status): 27 text = status.text #本文 28 date = status.created_at #ツイートされた日時(確かdatetime型) 29 name = status.author.name #投稿者id名(unicode型、sqlite3で都合が良いので.encode("utf-8")とはしませんでした 30 screen_name = status.author.screen_name #投稿者の名前 31 img = status.author.profile_image_url #投稿者のプロファイル画像 32 33 print text 34 35 36 return True 37 38 39if __name__ == '__main__': 40 auth = get_oauth() 41 stream = tweepy.Stream(auth, StreamListener()) 42 43 while True : 44 try: 45 print "in" 46 stream.userstream() 47 48 except myExeption() : #twitterに弾かれた場合は少し待って接続し直します 49 time.sleep(60) 50 stream = tweepy.Stream(auth,StreamListener()) 51 52 53#oauth = authorize(consumer_key, consumer_secret, access_token, access_secret)
環境
MacOS X 10.10.5(yosemite)
python 2.7.10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。