[Python] RequestsでBASIC認証がかかったウェブサイトの情報を取得する

RequestsはPythonでhttpコンテンツを簡単に取得できるサードパーティのライブラリ。初心者がスクレイピングを勉強する時にも使いやすい。

BASIC認証がかかっているウェブサイトの場合でも、認証情報を指定することで問題なくコンテンツを取得できる。

ソースコード。

import requests
r = requests.get('https://www.example.com', auth=('basic_user','basic_pass'))

`basic_user`と`basic_pass`にそれぞれBASIC認証のユーザー名とパスワードを設定する。

上記で正しくデータが取得できているか、ステータスコードをみてみる。

$ print(r)
<Response [200]>

しっかり200が返ってくる(試しにpasswordを間違えてみると、401などエラーステータスが返ってくる)。

通常と同じように、Response型でWEBサイトの情報が取得できるので、HTTPヘッダーやテキストコンテンツも扱える。

r = requests.get('url', auth=('user_id','password'));
r.headers
r.text

以上。簡単!

Written by Ryo Konishi