質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

909閲覧

tweepyで複数画像が取得できない

nisi24

総合スコア12

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/05 03:31

編集2019/08/05 03:33

#現在の問題
現在、tweepyを利用してTwitterから画像を取得するプログラムを組んでいます。
しかし、api.user_timelineで取得すると複数の画像が添付されている場合画像の情報が入っていないように思われます。
画像の情報はextended_entitiesに入っているものと思いますが、extended_entities自体が存在しないようです。
プログラムと取得の例は以下のとおりです。
#プログラム(一部)と出力

Python

1api = tweepy.API(auth) 2 3name='GirlsFrontline' #(仮) 4 5getlist = api.user_timeline(screen_name=name,count=5,include_rts=True,tweet_mode='extended') 6 7for twt in getlist: 8 try: 9 pprint(twt.extended_entities['media'][0]) 10 print(twt.full_text) 11 except: 12 pprint(dir(twt)) 13 print(twt.full_text)

と入力しますと画像が1枚のツイート

{'display_url': 'pic.twitter.com/Ofgfy87bXu', 'expanded_url': 'https://twitter.com/fuzichoco/status/1156891274458226689/photo/1', 'id': 1156891258473684994, 'id_str': '1156891258473684994', 'indices': [75, 98], 'media_url': 'http://pbs.twimg.com/media/EA4aeFkUIAIb1WX.jpg', 'media_url_https': 'https://pbs.twimg.com/media/EA4aeFkUIAIb1WX.jpg', 'sizes': {'large': {'h': 1500, 'resize': 'fit', 'w': 1062}, 'medium': {'h': 1200, 'resize': 'fit', 'w': 850}, 'small': {'h': 680, 'resize': 'fit', 'w': 481}, 'thumb': {'h': 150, 'resize': 'crop', 'w': 150}}, 'source_status_id': 1156891274458226689, 'source_status_id_str': '1156891274458226689', 'source_user_id': 129744642, 'source_user_id_str': '129744642', 'type': 'photo', 'url': 'https://t.co/Ofgfy87bXu'} RT @fuzichoco: ドールズフロントライン一周年おめでとうございます!応援イラストとして一〇〇式さん描かせていただきましたー! #ドルフロ https://t.co/Ofgfy87bXu

のようにちゃんと取得できます。
しかし、画像が複数枚のツイート

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api', '_json', 'author', 'contributors', 'coordinates', 'created_at', 'destroy', 'display_text_range', 'entities', 'favorite', 'favorite_count', 'favorited', 'full_text', 'geo', 'id', 'id_str', 'in_reply_to_screen_name', 'in_reply_to_status_id', 'in_reply_to_status_id_str', 'in_reply_to_user_id', 'in_reply_to_user_id_str', 'is_quote_status', 'lang', 'parse', 'parse_list', 'place', 'possibly_sensitive', 'retweet', 'retweet_count', 'retweeted', 'retweeted_status', 'retweets', 'source', 'source_url', 'truncated', 'user'] RT @gsc_kahotan: / 指揮官、 この私にできることがあれば、 どうぞご命令を \ 【ねんどろいど スプリングフィールド】#祝ドルフロ1周年 #ドルフロ #ドールズフロントライン #goodsmile https://t.co/5Z93K0zSlT 2019年9…

のように表示されます。
自分なりに調べてはみたのですがどうしてもわかりません。
どなたかご助言いただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

それはリツイートなので「リツイートした人のjsonデータ」のトップ階層にはextended_entitiesはありません。
retweeted_statusの中に元のツイートの情報データが入っているので、その中にはextended_entitiesがあると思います。

困ったら_json属性にJSONテキストをparseした辞書が格納されているので、その中を見る癖をつけるといいでしょう。

投稿2019/08/05 04:14

quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問