Python スクレイピング 自動化

Pythonで画像・動画をスクレイピングして自動ダウンロードする

この記事は約3分で読めます。

 

最近メンターでスクレイピングしたURLから画像や動画を実際にダウンロードするにはどうすればよいか、みたいな質問が多いので、この記事にまとめておこうと思います。

 

画像や動画をローカルのPCに出力・ダウンロード書き出すのはrequestsのレスポンスのcontentをそのままwith文とopen関数と.writeで書き出すだけで案外シンプルに実装できます。

 

requestsで動画ファイルをローカルに書き出す

 

処理の流れとしてはウェブサイトのHTMLをスクレイピングするのとほとんど変わらないのでrequestsでそのまま実装できます。動画ファイルをダウンロードする流れは具体的には以下のような感じ。注意点はrequests.getで叩くURLの末尾が.mp4みたいな動画ファイルの末尾になっているかです。

 

<サンプルコード>

import requests

response = requests.get('https://video.twimg.com/ext_tw_video/1480552833988829194/pu/vid/480x360/u2jXyMRG-8zYb4IX.mp4?tag=12')

with open(f'sample.mp4', 'wb') as saveFile:

    saveFile.write(response.content)

 

requestsで画像ファイルをローカルに書き出す

 

実際に適当な画像をPythonでrequestsを使ってダウンロードしてみます。

使うのは↓の画像になります。

 

URL:https://tkstock.site/wp-content/uploads/2021/09/line-delete-account-00.jpg

 

 

import requests

response = requests.get('https://tkstock.site/wp-content/uploads/2021/09/line-delete-account-00.jpg') 

with open(f'sample.jpg', 'wb') as saveFile: 

    saveFile.write(response.content)

 

こちらも動画ファイルと同じようにrequests.getで叩くURLの末尾が.jpgみたいな画像ファイルの末尾になっているかに注意してください。

 

またopen関数で指定するファイル名は実行した時点でプログラムを実行したディレクトリの直下に新規作成されるので、存在しないもので大丈夫です。ダウンロード先のディレクトリまで指定したい場合はr’/xxxx/xxxx/sample.jpg’みたいな感じで書けばよいです。

 

 

 

 

コメント

  1. […] 関連記事:【Python】requestsで画像・動画ファイルをスクレイピングしてダウンロードするサンプルプログラム […]

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