Python - requestで取得したhtmlをそのまま出力する方法
こんにちは、まっきーです。
きっかけ
Get Requestで取得したhtmlが通常Google Chrome などのWeb broswer で見るhtmlと異なるようで、バグが発生してしまった。
この検証のため、get request で取得したhtmlをそのままhtmlファイルとして出力したかった。
ものすごく簡単なはずなのにハマってしまったので、メモ。
解決方法
beautiful soupでhtml parseしたものを、htmlファイルで出力。このとき、str()が必要。
from bs4 import BeautifulSoup
import requests
url = "取得したいurl"
response = requests.get(url)
contents = response.content
#HTMLを元に、オブジェクトを作る
soup = BeautifulSoup(contents, "html.parser")
#htmlで出力
file = open('result.html', 'w')
file.write(str(soup))
file.close()
実行すると、result.htmlでファイルが出力され、それを開くとget requestした結果がブラウザ上で確認できます。
おわりに
普段は下記のブログを運営してます。よかったら遊びに来てください。