Pythonでinstaloaderを使用し、Instagramから写真(またはビデオ)などをダウンロードする

Pythonでinstaloaderを使用し、Instagramから写真(またはビデオ)などをダウンロードしてみます。

instaloader(https://pypi.org/project/instaloader/)は、Instagramから写真(または動画)をキャプションなどのメタデータと一緒にダウンロードすることが可能です。

なお、instaloaderライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

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

■instaloaderをインストールする

instaloaderをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

pip install instaloader

起動後、上記のコマンドを入力し、Enterキーを押します。

なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install instaloader

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Defaulting to user installation because normal site-packages is not writeable
Collecting instaloader
Downloading instaloader-4.7.2.tar.gz (50 kB)
|████████████████████████████████| 50 kB 1.1 MB/s
Requirement already satisfied: requests>=2.4 in c:\users\user_\appdata\roaming\python\python38\site-packages (from instaloader) (2.25.1)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\user_\appdata\roaming\python\python38\site-packages (from requests>=2.4->instaloader) (2021.5.30)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\user_\appdata\roaming\python\python38\site-packages (from requests>=2.4->instaloader) (1.26.5)
Requirement already satisfied: idna<3,>=2.5 in c:\users\user_\appdata\roaming\python\python38\site-packages (from requests>=2.4->instaloader) (2.10)
Requirement already satisfied: chardet<5,>=3.0.2 in c:\users\user_\appdata\roaming\python\python38\site-packages (from requests>=2.4->instaloader) (4.0.0)
Using legacy setup.py install for instaloader, since package 'wheel' is not installed.
Installing collected packages: instaloader
Running setup.py install for instaloader ... done
Successfully installed instaloader-4.7.2

Enterキーを押すと、インストールが開始され、上記のように「Successfully installed」と表示されます。これが表示されれば、instaloaderが正常にインストールされたことになります。

なお、今回はpygooglenewsのバージョン4.7.2をインストールしました。

■instaloaderを使用し、Instagramから写真(またはビデオ)などをダウンロードする

インストール後、instaloaderを使用し、Instagramから写真(またはビデオ)などをダウンロードするスクリプトを書いていきます。

■コード

import instaloader

var = instaloader.Instaloader()

name = input("ユーザー名を入力する: ")

var.download_profile(name,profile_pic_only=True)

インポートでinstaloaderモジュールを呼び出します。その後、varという変数を作成し、その中にinstaloader.Instaloader()を格納します。

格納後、nameという変数を作成し、input()関数でコンソールからの入力を取得し、格納します。取得するのは、Instagramのユーザー名となります。

その後、download_profile()関数を使用します。括弧内には、第1の引数,パラメーターとしてname変数を渡します。第2の引数,パラメーターとして、「profile_pic_only=True」を渡します。これで、指定したユーザー名のInstagramからプロフィール画像・写真のみをダウンロードすることができます。

■実行

このスクリプトを「insta_test.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行すると、input()関数を使用したことで、ユーザー名の入力が求められますので、今回は当運営者のInstagramアカウントのユーザー名を入力し、Enterキーを押します。押すと、写真やメタ情報のダウンロードが開始され完了となります。

完了後、Pythonのカレントディレクトリ(作業ディレクトリ)を確認すると、ユーザー名のフォルダが生成されています。

生成されたフォルダを確認すると、メタ情報などがダウンロードされています。メタ情報などの他にjpg形式の画像ファイルがダウンロードされています。画像ファイルを確認すると、今回指定したユーザー名のプロフィール画像・写真が表示されました。

コメント

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