[Python] HTMLを表示してみる
こんにちは、@yasuです。
htmlをダウンロードして、それを表示してみます。
実行環境
- https://repl.it/ ではなく Visual Studio Codeで行います
- open in browserをインストールします
open in browserで検索して発行元がTechERのものを選びます。
htmlファイルを表示する方法
hrtmlファイルを右クリックしてメニューを開き、「Open Default Browser」を選択します。
それでは、インターネットからhtmlをダウンロードしたいと思います。
ブラウザのUser-Agentを表示するサイトがありましたので、今回の学習に利用したいと思います。
よく、モバイルとパソコンの画面で異なるデザインで表示しているケースがありますが、PC、タブレット、スマートフォンなど、異なる画面サイズの幅を基準にWebサイト表示を柔軟に調整し、見やすく最適な表示にするレスポンシブWebデザインも、このUser-Agentで判断しているかもしれません。また、サイトによっては、User-Agentの内容によりブラウザ以外と判断してアクセスを拒否または、制限したりもしているようです。
以下のURLにアクセスすると、User-Agentを表示します。
https://www.whatismybrowser.com/detect/what-is-my-user-agent
User-Agentを指定しない方法(通常の方法)
ブラウザに表示されるhtmlイメージをそのままファイルとして保存します。
コード
import requests
def test1():
url = "https://www.whatismybrowser.com/detect/what-is-my-user-agent"
res = requests.get(url)
res.raise_for_status()
print(res.status_code)
print(res.text)
with open("./html/test1.html","w",encoding="utf8") as f:
f.write(res.text)
test1()
ダウンロードしたhtmlを表示すると、以下のように表示します。
python-requests/2.24.0
と表示されました。
User-Agentを指定する方法
コード
import requests
def test2():
url = "https://www.whatismybrowser.com/detect/what-is-my-user-agent"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"}
res = requests.get(url,headers=headers)
res.raise_for_status()
print(res.status_code)
print(res.text)
with open("./html/test2.html","w",encoding="utf8") as f:
f.write(res.text)
test2()
ダウンロードしたhtmlを表示すると、指定したUser-Agentの通りに表示しました。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
ここでもHTMLの確認ができます。
Visual Studio Codeの「Open Default Browser」ではなく、w3schoolsサイトを利用する方法です。
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
サイトを開いたあと、書き込まれたhtmlファイルの内容を左枠にhtml文を貼り付けます。
@yasu transfered 0.5 KRWP to @krwp.burn. voting percent : 7.32%, voting power : 61.64%, steem power : 1931055.98, STU KRW : 1200.
@yasu staking status : 250 KRWP
@yasu limit for KRWP voting service : 0.5 KRWP (rate : 0.002)
What you sent : 0.5 KRWP [47448889 - 179c9dc2a436a12f6738b7696472c5235c0c565b]