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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

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

Q&A

解決済

1回答

2323閲覧

Python JupyterでIPython.displayを使用して画像表示をしたい。

ktmr

総合スコア10

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

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

0グッド

0クリップ

投稿2022/10/11 15:50

前提

Python Jupyter内で画像表示させたく、IPython.displayライブラリを使用しているのですが、うまく表示できません。。
エラー等は発生していないです。

実現したいこと

画像表示させる。

該当のソースコード

#ライブラリのインポート import requests import json from pprint import pprint from IPython.display import Image #クラスの定義 class TMDB: def __init__(self, token): self.token = token self.headers_ = {'Authorization': f'Bearer {self.token}', 'Content-Type': 'application/json;charset=utf-8'} self.base_url_ = 'https://api.themoviedb.org/3/' self.img_base_url_ = 'https://image.tmdb.org/t/p/w500' def _json_by_get_request(self, url, params={}): res = requests.get(url, headers=self.headers_, params=params) return json.loads(res.text) def search_movies(self, query): params = {'query': query} url = f'{self.base_url_}search/movie' return self._json_by_get_request(url, params) def get_movie(self, movie_id): url = f'{self.base_url_}movie/{movie_id}' return self._json_by_get_request(url) def get_movie_images(self, movie_id, language=None): url = f'{self.base_url_}movie/{movie_id}/images' return self._json_by_get_request(url) #映画の検索 api = TMDB(token) res = api.search_movies("浅草キッド") pprint(res) #IDから映画の詳細情報の表示 movie_id = res['results'][0]['id'] api.get_movie(movie_id) #映画ポスターの取得 res = api.get_movie_images(movie_id) for poster in res['posters']: Image(data=f"{api.img_base_url_}{poster['file_path']}")

試したこと

表示させる命令文にprint文を使うと、画像URLのみ表示されてしまう。
そのURLから画像を表示させるようにしたい。

補足情報(FW/ツールのバージョンなど)

TMDb(The Movie Database)APIを使用しています。

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

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

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

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

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

melian

2022/10/12 15:24 編集

※ 回答へ転記
guest

回答1

0

ベストアンサー

display() 関数で表示できます。

python

1for poster in res['posters']: 2 display(Image(data=f"{api.img_base_url_}{poster['file_path']}"))

イメージ説明

投稿2022/10/12 15:23

melian

総合スコア21118

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

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

ktmr

2022/10/12 15:38

回答ありがとうございます。 実行したところ、下記のエラー文が出ました。 ValueError Traceback (most recent call last) Input In [7], in <cell line: 3>() 1 res = api.get_movie_images(movie_id) 3 for poster in res['posters']: ----> 4 display(Image(data = f"{api.img_base_url_}{poster['file_path']}>")) File ~\anaconda3\envs\test1\lib\site-packages\IPython\core\display.py:948, in Image.__init__(self, data, url, filename, format, embed, width, height, retina, unconfined, metadata, alt) 945 self.embed = embed if embed is not None else (url is None) 947 if self.embed and self.format not in self._ACCEPTABLE_EMBEDDINGS: --> 948 raise ValueError("Cannot embed the '%s' image format" % (self.format)) 949 if self.embed: 950 self._mimetype = self._MIMETYPES.get(self.format) ValueError: Cannot embed the 'jpg>' image format どこを修正すればよいでしょうか。。
ktmr

2022/10/12 15:42

'>'を削除し、実行したらうまくいきました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問