【python】web上のデータを保存する方法[requestsライブラリ]

2020年3月31日

pythonでweb上のデータを取得する方法を紹介します。
サードパーティーライブラリであるrequestsライブラリを使用すると簡単に web上のデータを取得することができます。

requestsライブラリがpythonに入っていない場合、下記のコマンドを打ち込んでrequestsライブラリをインストールしましょう。

pip install requests

下記でrequestsライブラリを使用してwebのデータを保存します。
今回保存するurlは本サイトのトップページです。これをhtmlファイルで保存します。

import requests

url = "https://programming.egmoth.com/"
file_name = "test1.html"

try:
    response = requests.get(url)
    with open(file_name, "wb") as wb:
        wb.write( response.content )
except:
    import traceback
    traceback.print_exc()

6行目:web接続について問題があった場合はエラーが発生するので例外処理で回避します。
7行目:requestsライブラリのget関数にurlを引数で渡すことでweb上のデータを取得します。
8行目:web上のデータを保存するためのファイルを作成します。
9行目:response.contentは 7行目取得したデータのバイナリデータです。
   write関数でバイナリデータをファイルに書き込みます。
10-12行目:エラー発生時のエラー内容を表示する。

今回はhtmlデータを保存しましたが、urlを変更すれば画像データやzipデータなどもダウンロードすることは可能です。

ダウンロードはこちらから