BeautifulSoupでリンクを取得してこれをFlaskで表示させる
beautiful-soup-flask

ASP.NET Coreで作成したアプリを公開したら他のアプリが動かなくなってしまった件の続きです。

表示されなくなったコード

以前、PythonのライブラリBeautifulSoupを用い、以下のようなコードをかいてYahoo!Japanのトップページから貼られているリンクを表示させるページを公開していました。ところがASP.NET Coreで作成したアプリを公開したらページが表示されなくなってしまいました。プログラマを悩ませるあの「500 Internal Server Error」です。

.htaccess

index.py

Flaskをつかって結果を表示させる

ただFlaskを実行してこれを.htaccessで表示させるという方法は使えるみたいです。そこでこの方法で表示させます。

サーバーでも必要になるのでpipでFlaskをインストールしておきます。

そして

まあ、これでも実行してみるとリンクはただしく表示されるのでいいのかもしれませんが、あまり筋がいいやりかたではないです。そこでテンプレートを使います。

テンプレートを使う

テンプレートを使うにはapp.pyと同じフォルダにtemplatesというフォルダを作成します。そしてそこにindex.htmlというファイル(名前はなんでもOK。abc.xyzみたいな名前でもよい)を作成します。

templates/index.html

app.py

公開する

あとは適当なディレクトリにアップロードして以下を実行。

表示させたいurlに相当するディレクトリに.htaccessを設置

これで見た目はもとどおりになりました。

https://lets-csharp.com/samples/2108/python-test/
https://lets-csharp.com/samples/2108/python-test/test.py
https://lets-csharp.com/samples/2108/python-test/google.py