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ファイルに出力することでリンク化することができるのでそういうときは上記の方法をつかってみてください。
コメント