ホームページ  >  に質問  >  本文

Web クローラー - Java を使用して情報をクロールし、ランキング システムを作成するにはどうすればよいですか?

Java Web を学習しているときに、たまたま興味深いプロジェクトがありました。
私たちの学校では、朝のランニングにはクレジット カードが必要です。スポーツ部門では問い合わせ Web サイトを提供していますが、インターフェイスは提供していません。
学校の Web サイトから情報を取得してデータベースに保存する Web サイト/WeChat バックエンドを作成して、ユーザーが私の Web サイト/WeChat を通じてランニング記録をクエリできるようにしたいと考えています。また、その記録をもとにランキングなどを表示する機能もございます。

クエリでは学生番号と名前を指定するだけで済みます。このデータはすでに利用可能です。

シミュレートされたログインは httpclient を使用して実装されます。ページ全体を取得しました
このページはテーブル表示レコードです。ページからデータを抽出するには何を使用する必要がありますか?

Java Webの方向性については、jspを使って追加、削除、変更、確認のみを書きます。その後のことはよくわかりません。

このようなバックグラウンド管理のクロール操作を実行したいのですが、ユーザー クエリが返されます。
どこから学習を始めればよいでしょうか?あるいはどのようなテクノロジー/フレームワークが使用されていますか?

クエリ Web サイトについて:
1 つの要素はランニング練習の数です。
に続くのは対応するレコードで、各レコードには分単位の実行時間が表示されます。

最も難しいのは取得ではありません。問題はそのような管理システムをどのように構築するかです。完全な Web フルスタックを開発する方法についてはアイデアがありません。
コメントできないことは承知しています。 。 。

###ありがとう!

迷茫迷茫2686日前614

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-06-12 09:21:16

    方法を考えてなかったので、何気なく言っただけです。

    Jsoup を使用してページ データをクロールします (笑)

    返事
    0
  • 代言

    代言2017-06-12 09:21:16

    いくつかのポイントを考えて、簡単に説明します。
    1. データ キャプチャ。独自のクローラ プログラムを作成し、データ クロールの時間ルールなどを作成できます。
    2. データ処理。jsoup または Web ページのコンテンツをキャプチャします。その他 Web ページの有効なコンテンツを抽出してデータ構造を設計する方法 学生 ID は、学生 ID を介して関連付けられる学生テーブルと朝のランニング記録テーブルが存在する必要があります。回数でソートするのは、よく考えたら、実際の朝のランニング時間を判断する方法がないので、時間でソートするのが無理がある場合は、直接回数で話せばいいだけです。実行回数のフィールドを Student テーブルに保存し、レコード テーブルを介したクエリを減らし、効率を向上させます。データ処理が必要なときにこのフィールドを維持することを意味します

    返事
    0
  • 三叔

    三叔2017-06-12 09:21:16

    一般的には、httpclient这样的工具将返回包拿到,解析报文实体(这里指html页面),接下来就是利用xpath、正则、类似于jQuery方式解析DOM要素に基づいて必要なデータ(jsoupパッケージなど)を取得します。それでも面倒な場合は、webmagicフレームワークを使用できます

    返事
    0
  • 巴扎黑

    巴扎黑2017-06-12 09:21:16

    1. ログインをシミュレートする: ブラウザを使用してログイン ページを開き、学生 ID とパスワードを受け取る URL を確認します。ログインをシミュレートするときに、応答ヘッダーから Set-cookie フィールド情報を解析します。

    2. データキャプチャ: スポーツデータページへの取得リクエストを開始し (前のステップで取得した Cookie フィールドを取得)、応答を取得してから、通常の解析を実行してデータを取得します。
    3. 推奨事項: ユーザーが毎回クエリするデータを、たとえば 2 時間キャッシュするには、データベースにクエリされたデータを保存できるため、まず Redis からデータを取得し、取得できない場合はログインをシミュレートします。新しいデータを取得します。データベース層については、あればデータ分析などもできるので、個人的には必要ないと感じています

      返事
      0
  • キャンセル返事