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形式の画像ファイルがダウンロードされています。画像ファイルを確認すると、今回指定したユーザー名のプロフィール画像・写真が表示されました。
コメント