【Python】Basic認証があるページへのスクレイピング

【Python】Basic認証があるページへのスクレイピング

前回はWEBスクレイピングについて簡単に紹介してみました。

【Python】WEBスクレイピングをしてみよう

認証が必要なページだった。

その後、複合機の管理画面から必要なデータを取ろうとスクレイピングを仕込んでみたら、
なんとその管理画面にBasic認証がかかっていました。

Basic認証

なので<Title>タグの内容を取得しようにも認証失敗のページの値を取得してしまう。

python scraping.py
<title>FAILED</title>
FAILED

 

対応は簡単だった。

どうしたもんだと教えてGoogle先生~!って調べてみたらすぐ出てきました。

簡単です。

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
 
#対象ページへアクセス
res = requests.get('スクレイピングしたいページのURL',auth=('ID','PASS'))
content = res.content
 
#スクレイピングしたページデータを整形する
soup = BeautifulSoup(content, 'html.parser')
 
# タイトル要素を取得する
title_tag = soup.title
 
# 要素の文字列を取得する
title = title_tag.string
 
# タイトル要素を出力
print(title_tag)
 
# タイトルの文字列を出力
print(title)

ここに追加。

res = requests.get('スクレイピングしたいページのURL',auth=('ID','PASS'))

対象ページにアクセスするURLを設定するところにauth=(‘ID’,”PASS)を追加するだけです。
これでBasic認証を突破できるようになりました。

Basic認証以外の認証については気が向いたときか、必要になったときに調べてみます。