質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.48%

PYTHONのブラウザ利用について

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 559

score 2

Pythonのブラウザを利用したシステム構築について

Pythonの初心者です。Pythonの基礎とスクレイピングやEXCELの操作など基本は一通り学習しました。
webアプリケーションについては全く分かっていません。

仕事の効率化という観点でPythonを学んでいます。スクレイピングやブラウザの自動操作,EXCELの操作などによって業務を効率化できると考えています。
仕事の中に点検作業があるのですが、簡単なWEBアプリケーションを作って業務効率化できないかと考えています。
1.現場に行く。点検記録をスマホでインターネットの自分が作ったwebサイトに入力
2.現場から帰った後、webサイトに入力している点検の数値をPythonのスクレイピング機能によって、自動で読み取り、EXCELシートに転記して点検結果を自動作成

という機能を考えています。
ここで、点検記録を入力して表示できるようなWEBサイト(本当に簡単なもの)を作ろうと思って、Pythonのウェブアプリケーションについても少し勉強してみようと思いました。

入門書を買って、localhost:8080というサーバを立ち上げて練習をしてみたのですが、実際このサーバって仮のサーバであって、例えば現場でスマホを立ち上げてこのサーバにアクセスしようとしてもローカルネットワーク内にないので繋がらないですよね??

自分はサーバとかのことよく理解していないのですが、きっとサーバを契約してそこにPythonでコード書いてwebサイトを作る必要がありますよね。
この場合、今している勉強って・・・練習としては意味あるけど、多分実用性はないよなって思いました。

この場合は、サーバに契約する必要がありますよね??教えて下さい。
あと、サーバに契約して、Pythonで簡単なサイト(入力欄がいくつかあって、それがweb上に表示されればいいです)作れるのでしょうか?
それとも、flaskとかdjangoどちらかを勉強した方が簡単で効率的でしょうか?教えて下さい。

因みに、今私が勉強している参考書は「実践力を身に着ける Pythonの教科書」のP214からの部分です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • K_3578

    2021/04/21 12:55

    一応、回答しました。

    キャンセル

  • naokiscottie

    2021/04/21 13:06

    了解です。ご回答ありがとうございました。誤字すいませんでした。

    キャンセル

  • K_3578

    2021/04/21 13:50

    もしかしなくてもflackっていうのはflaskの事ですかね

    キャンセル

回答 3

checkベストアンサー

+3

仕事の中に点検作業があるのですが、簡単なWEBアプリケーションを作って業務効率化できないかと考えています。

質問を読んだ限りWebアプリケーションよりスマホのアプリケーションを作った方が良い気がしました。
もちろんWebアプリケーションでも可能です。

自分のWebサイトをスクレイピングする必要は無いと思います。
大抵の場合DBに入力するでしょうから、そのDBに直接接続して値を取ってきた方が早いです。
そもそも、Webに入力された時点でExcelを特定の場所に吐き出したり、メール添付で送ったりすればその手順も省けるので仕様検討が必要です。

localhost:8080というサーバを立ち上げて練習をしてみたのですが、

localhostの時点で外部から(公開設定していなければ)見ることはできません。

勉強時点で使っているのは、たいていの場合Django/Flask共に開発用サーバです。
開発サーバは本番運用に使用してはいけないものなので、別の物を考える必要があります。

きっとサーバを契約してそこにPythonでコード書いてwebサイトを作る必要がありますよね。

自宅サーバという手もありますので、「サーバが必要」という意味で「はい」です。
自宅サーバならレンタルサーバより安く運用できる可能性がありますが、すべて(HWもSWも)自分で設定する必要があります。

借りる場合はレンタルサーバー、VPS、クラウドサービスなど色々選べますので調べてみてください。

この場合、今している勉強って・・・練習としては意味あるけど、多分実用性はないよなって思いました。 

開発サーバで作るのが「多分実用性はない」とおっしゃっているなら間違いです。少なくとも私はそう思います。
殆どの人は開発サーバで作成しますし、開発サーバで開発しないと効率がすごく落ちます。
本番環境だけで開発できないことも無いですが、凄く手間がかかる割にメリットは少ないです。

開発環境を作成して開発する、本番環境だけで開発するそれぞれにメリット/デメリットがありますが、開発環境を使った方が一般的には良いと思います。

もちろん、開発環境が準備できず本番環境で開発する場合もありますが、今回はPythonを使ったWeb開発ですのであてはまらないと思います。

この場合は、サーバに契約する必要がありますよね??教えて下さい。

Pythonが動作するサーバを契約すれば動作します。
契約する場合は、Django/Flaskを動作させている人がいたり公式ドキュメントがあるかを確認した方が良いと思います。

あと、サーバに契約して、Pythonで簡単なサイト(入力欄がいくつかあって、それがweb上に表示されればいいです)作れるのでしょうか?

開発環境で動作したものは、大抵サーバでも同じように動作します。
開発環境で想定したとおりのものが作成できれば作成可能です。

それとも、flaskとかdjangoどちらかを勉強した方が簡単で効率的でしょうか?教えて下さい。

私の考えではFlask/Djangoを勉強した方が最終的に早いです。
個人的にはFlask押しです。
Flaskは学習時間が比較的短い時点から作り始めることができます。
ただし、Djangoを学んでしまえば全部入りなのであとあと迷わなくて済むかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/04/23 16:19

    自分の回答より数倍詳しく書かれてるので高評価しました。

    キャンセル

  • 2021/04/23 16:52

    詳しく教えて下さりありがとうございます。
    flaskの勉強、Pythonの基礎の勉強が終わればやってみようと思います。
    ありがとうございました。

    キャンセル

+2

サーバに契約して、Pythonで簡単なサイト(入力欄がいくつかあって、それがweb上に表示されればいいです)作れるのでしょうか?
それとも、flaskとかdjangoどちらかを勉強した方が簡単で効率的でしょうか?

「本当に簡単なもの」で良いというのであれば、DjangoやFlaskも良いですが、それらPython用フレームワークを使わずともPythonが標準で用意しているCGIのモジュールを使うことで、WEBサーバーとCGIが使えるレンタルサーバーなどで充分利用できるので、候補のひとつに挙げてみてはいかがでしょうか。

CGI (ゲートウェイインターフェース規格) のサポート - Python3.9.x

個人的な意見を含みますが、CGIは古くからある規格ではあるものの、知っておき、使えるようになっておいて損は無いと考えます。CGIであれば個々のフレームワーク特有の使い方に悩まされることも少なくなります。

また、DjangoやFlaskよりもう少し簡単でシンプルなフレームワーク Bottle と言うものもあります。標準のCGIモジュールよりもう少しだけフレームワークっぽくサイトを作りたい場合に良いです。teratailでも少ないものの、たまに質問が挙がります。

Bottle: Python Web Framework

私はテスト用のWEBサーバーやAPIサーバーを作る(≒でっち上げる)ときにこれらを良く利用します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/04/23 17:06

    参考になる情報ありがとうございます。

    キャンセル

+1

まず、大前提としてだが勉強としてやっているものが実用性があるわけない。

ローカルネットワーク内にないので繋がらないですよね??

当然。localhostは自分自身、つまり今使用されているPCの事ですから、別の端末でアクセス出来るわけがない。

サーバに契約する必要がありますよね??

はい。色々なものがありますのでご自分でよく調べて
合うものを選定してください。

Pythonで簡単なサイト(入力欄がいくつかあって、それがweb上に表示されればいいです)作れるのでしょうか?

別にPythonに限らずとも大体の言語で作れます。

それとも、slackとかdjangotoどちらかを勉強した方が簡単で効率的でしょうか?教えて下さい。

以下、質問修正前の回答です。

djangotoなんてものはないのでDjangoと考えます。
DjangoはPythonで実装されたWebアプリケーション用のフレームワークなので、上手く使えれば
効率的に物を作れるでしょうが、その分学習コストが増えますから、しっかり勉強した上で使ってください。

slackはチームコミュニケーションツールなので何の関係もないと思われます。
恐らくFlaskの事だと思いますが、要件次第です。
Flaskの方が軽量ではありますがどちらも、Webアプリケーション用フレームワークなので。
なのでこちらに関しても質問者さんの好みになると思います。

色々要件が定まっていないので、一度まとめて、自分がどのフレームワークを使うのか、サーバは
どれにするのかなどを考えられた方がよろしいかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る