[Python] HTMLを表示してみる

in SCT.암호화폐.Crypto5 years ago (edited)

こんにちは、@yasuです。

htmlをダウンロードして、それを表示してみます。

実行環境

  • https://repl.it/ ではなく Visual Studio Codeで行います
  • open in browserをインストールします
    open in browserで検索して発行元がTechERのものを選びます。

image.png

htmlファイルを表示する方法

hrtmlファイルを右クリックしてメニューを開き、「Open Default Browser」を選択します。

image.png

それでは、インターネットから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と表示されました。

image.png

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

image.png

ここでもHTMLの確認ができます。

Visual Studio Codeの「Open Default Browser」ではなく、w3schoolsサイトを利用する方法です。
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
サイトを開いたあと、書き込まれたhtmlファイルの内容を左枠にhtml文を貼り付けます。

image.png

Sort:  

@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]

Coin Marketplace

STEEM 0.12
TRX 0.34
JST 0.033
BTC 113151.25
ETH 4208.94
USDT 1.00
SBD 0.83