PythonでHTMLを出力して表示したいときのやり方

pythonでスクレイピングをしているとスクレイピングで取得した結果をhtmlで出力したくなることがあります。これにはpythonのテンプレートライブラリであるjinja2を使ったり、cgiスクリプトを書くなやり方などがあるようなのですが、あたらしく学習する気になれなかったので、普通にhtmlファイルを作成するやり方でできるので書いておこうと思います。

スポンサーリンク

pythonでhtmlファイルを作成する

pythonでファイルを作成するには書き込みモードでファイルを開くwith構文を使うことで実現できます。

ちょっとあまり良いやり方とは言えないと思いますが、ひとまずひな形としては以下のサンプルコードで良いと思います。

with open("C:\\users\\xxxxx\\desktop\\hoge.html", mode="w") as f:
        f.write("<DOCTYPE html>")
        f.write("<head>")
        f.write("<html lang='ja'>")
        f.write("</head>")
        f.write("<body>")
        f.write("</body>")
        f.write("</html>")

こちらのコードはhtmlファイルを作成する最低限のコードになります。

スクレイピングで取得した結果を書き込みたい場合はbodyタグからf.wirte()を使用して書き込んでいくことになります。

スポンサーリンク

pythonでブラウザを開く

pythonでwebブラウザを開くにはwebbrowserモジュールを使うことでブラウザを自動で開くことができます。webbrowserモジュールはインターネットのアドレスだけでなくローカルファイルも開くことができるのがみそです。

webbrowser.open("C:\\users\\xxxxx\\desktop\\hoge.html")

まとめ

スクレイピングで結果を取得しただけどリンクとかurlをそのまま取得するだけですので、それをコピペしないと開けなかったりしてめんどくさいんですよね。しかしhtmlファイルに出力することでリンク化することができるのでそういうときは上記の方法をつかってみてください。

コメント

タイトルとURLをコピーしました