基本的に Web サイトのデータ入力ツールとして機能する Django アプリを開発しています。ユース ケースには、Web を閲覧している信頼できるユーザーまたは有料の技術者がいます。ブラウジングすると、多くのプロキシ Web サイトで見られるものと同様のオーバーレイ バーにデータを入力しますが、ユーザーが Web サイトに関するメタデータ (この場合は ML アルゴリズムのトレーニング分類データ) を書き込んで送信できるフォームが含まれています。私のアプリ。
閲覧サイトにオーバーレイを挿入するプロキシ Web サイトの例については、http://hidemyass.com/proxy/を参照してください。
これにアプローチする方法について、相反する提案を聞いたことがあります。
Web サイトをプロキシとして提供する
http://httpproxy.yvandermeer.net/のようなもので django アプリを介してすべての URL 要求をパイプし、応答を書き直してヘッダーを含めます。
長所
- NLTK のような魅力的な科学ライブラリで応答を処理できます
- AJAX を使用しないフェイルオーバー。ユーザーは、計算されたデータを送信する必要なく、人間のデータを送信できます (手間はかかりますが)。
短所
- トラフィックが大幅に増加しました。ここで、私の webapp はすべての Web サイトを取得してユーザーにアップロードする必要があります。
- 一部の Web サイトでは、プロキシ リクエストがブロックされる場合があります。私の意図はこれを Heroku にデプロイすることですが、非常に多くのリクエストを生成するアプリに眉をひそめるかもしれません。
iFrame でのユーザーの閲覧
オーバーレイは iFrame によってコンテンツから分離されており、javascript を使用して、現在閲覧中のページのオーバーレイに通知します。
長所
- 分散コンピューティング。ユーザー マシンは、要求を作成し、必要な計算を行うために使用されます。サーバーはもはやボトルネックではありません。
- より緊密な Ajax 統合。モデル全体を表す JSON オブジェクトを投稿するだけです。
短所
- iframe は本格的なブラウジング用に設計されたものではありません。一部の Web サイトは、iframe を強制的に使用しないようにしていますが、これは信頼できるブラウジング方法ではないのではないかと心配しています。
- これらのセクシーな python ライブラリをすべて使用することはできません。私の言語処理は JavaScript で行う必要があります。
質問
私は前にこのようなことをしたことがありません。私は関連するすべてのツールにかなり慣れていないため、2 つの非常に異なるアプローチのどちらかを選択するのに真剣に悩んでいます。
どの方法をお勧めしますか? なんで?私が見逃した考慮事項はありますか?