ハッシュ方法の潜在的な問題:最新のWebサイトの多くがそうであるように、ページがリフレッシュごとに動的に生成されるコンテンツを含む場合、プログラムはページが絶えず変化していると報告します。サイト全体がこのような動的コンテンツ(広告、ヒットカウンター、ソーシャルメディアなど)を使用していない場合にのみ、ページ全体をハッシュします。
具体的には何が変更されていますか?新しい課題が投稿された可能性はありますか?いずれにしてもページ全体を監視する必要はありません。そのため、あなたはHTMLパーサを使用する必要があります - Jsoupの出番です
まず、パースページをDocumentオブジェクトに:
Document doc = Jsoup.parse(htmlString)
あなたは今、多くの方法を実行することができます。 Documentオブジェクトのに移動し、HTMLノードをトラバースします。 (See Jsoup docs on DOM navigation methods)
たとえば、サイトにテーブルがあり、テーブルの各行が異なる割り当てを表しているとします。次のコードは、テーブルの各タグを選択することによって、そのIDとその行ごとにテーブルを取得します。
Element assignTbl = doc.getElementById("assignmentTable");
Elements tblRows = assignTbl.getElementsByTag("tr");
for (Element tblRow: tblRows) {
tblRow.html();
}
あなたは、ページの構造を把握し、それに応じてコードを設計するために何らかの形で(例えばGoogle Chromeでエレメントを点検など)、Webページのソースコードを表示する必要があります。このようにすれば、アルゴリズムの信頼性が向上するだけでなく、変更された割り当ての詳細を抽出するなど、より多くの処理を行うことができます。 (支援が必要な場合は、対象のページのHTMLで質問を編集してください)
HTMLの解析でHTMLを取得するのは混乱しているようです。あなたはHTMLを解析していないので、なぜあなたはHTMLパーサーが必要だと思いましたか? – Laurel
私はHTMLを解析したいと思った。なぜなら、私は迅速かつ容易に閲覧できるように変更を表示する予定だったからだ。 – bitscuit