Одна из возможных проблем с вашим методом хэширования: если на странице содержится любой динамически созданный контент, который изменяется при каждом обновлении, как и многие современные веб-сайты, ваша программа сообщит, что страница постоянно меняется. Хеширование всей страницы будет работать только в том случае, если на сайте не используется какой-либо из этого динамического контента (объявления, счетчик посещений, социальные сети и т. Д.).
Что конкретно вы ищете, что изменилось? Возможно, будут опубликованы новые задания? В любом случае, вы, вероятно, не хотите отслеживать всю страницу для изменений. Таким образом, вы должны использовать HTML анализатор - это где Jsoup приходит в
Первое, разобрана страницы на объект документа:.
Document doc = Jsoup.parse(htmlString)
Теперь можно выполнить ряд методов на объекте Document до пересекайте узлы HTML. (See Jsoup docs on DOM navigation methods)
Например, скажем, что на сайте есть таблица, и каждая строка таблицы представляет собой другое задание. Следующий код получит таблицу по его идентификатору и каждой его строке, выбрав каждый из тегов таблицы.
Element assignTbl = doc.getElementById("assignmentTable");
Elements tblRows = assignTbl.getElementsByTag("tr");
for (Element tblRow: tblRows) {
tblRow.html();
}
Вам нужно будет как-то просмотреть исходный код веб-страницы (например, осмотр элемента в Google Chrome), чтобы выяснить структуру страницы и создать свой код соответственно. Таким образом, не только алгоритм будет более надежным, но вы можете использовать его гораздо дальше, например, извлечение сведений о присваивании, которое изменилось. (Если вы хотите получить помощь, отредактируйте свой вопрос с HTML-страницы целевой страницы.)
Вы, кажется, запутываете получение HTML с разбором HTML. Вы не разбираете HTML, так почему вы считаете, что вам нужен парсер HTML? – Laurel
Я хотел разобрать HTML, потому что планировал отобразить изменения, которые были сделаны для быстрого и удобного просмотра. – bitscuit