Pythonでpyimgurを用いてImgurに画像のアップロードする

スポンサーリンク

Pythonでpyimgurを用いて画像のアップロードしてみます。

今回は、pyimgurを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。またImgurに登録する必要があります。登録に関してはこちらを参考にしてください。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■アプリケーションを登録する(クライアントを登録)

Imgurに登録後、クライアントを登録する必要がありますので、こちら(https://api.imgur.com/oauth2/addclient)にアクセスします。

アクセスすると、「Register an Application」と表示されていますので、「Application name:(アプリケーション名:)」を入力します。入力後、「Authorization type:(承認タイプ:)」で、今回は「OAuth 2 authorization without a callback URL(コールバック URL を使用しない OAuth 2 認証)」を選択します。

選択後、ページ下に移動し、「Application website (optional):(アプリケーション Web サイト (オプション):)」は、今回は入力せずに、「Email:(メールアドレス:)」を入力します。入力後、「Description:(アプリケーションの説明:)」は、今回は入力しません。入力しませんので、下の「reCAPTCHA」の「私のロボットではありません」のチェックボックスにチェックを入れます。入れた後に「submit」ボタンをクリックします。

クリックすると「Great! Now you can get started with the API!(すごい!これで API を使い始めることができます!)」と表示されます。これでクライアントの登録は完了となります。完了後、ページに表示された「Client ID:」、「Client secret:」の情報をコピーして保存します。

■アップロードする画像を用意する

保存後、Imgurにアップロードする画像を用意します。

今回は「C:\Users\user_\test(フォルダパス)」内に「forest_test.jpg」というjpg形式の画像を用意しました。なお、この画像は著作権フリー画像が利用できる「Pixabay(https://pixabay.com/ja/)」からダウンロードしたものです。

■pyimgurを用いてImgurに画像のアップロードする

画像の用意ができましたので、pyimgurを用いてImgurに画像のアップロードするスクリプトを書いていきます。

■コード

import pyimgur

CLIENT_ID = "発行されたClient ID"
PATH = r"C:\Users\user_\test\forest_test.jpg"

image_test = pyimgur.Imgur(CLIENT_ID)
uploaded_image = image_test.upload_image(PATH,title = "testupload_with_pyimgur")
print(uploaded_image.link)

今回はimportでpyimgurモジュールを呼び出します。その後にCLIENT_IDという変数を定義し、その中に先ほど発行したClient IDを格納します。次にPATHという変数を定義し、その中に今回用意した画像の場所を格納します。

格納後、image_testという変数を定義し、その中でpyimgur.Imgur()を用います。括弧内には引数,パラメータとして、CLIENT_ID変数を渡します。これでImgurオブジェクトが作成され、これを使用してImgurとやり取りすることができるようになります。

Imgurオブジェクトを作成後、uploaded_imageという変数を定義し、その中でimage_test変数に対して、upload_image()を用います。括弧内には第1の引数,パラメータとしてPATH変数を渡します。次に第2の引数,パラメータとして画像のアップロード後のtitleを渡します。今回は「testupload_with_pyimgur」とします。これで画像のアップロードが行われます。アップロード後の情報はuploaded_image変数に格納されます。

最後に、今回はprint()でuploaded_image変数内のURLの情報を出力してみます。

■実行・検証

このスクリプトを「upload_img_l.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、Imgur内に画像がアップロードされ、「https://i.imgur.com/****.jpg」と出力されました。

出力されたURLをコピーし、Webブラウザのアドレスバーに貼り付けてアクセスすると、今回用意した画像がImgur内にアップロードされて表示されていることが確認できました。

コメント

タイトルとURLをコピーしました