Хочу написать программу, которая будет периодически обновлять данные с сайта, сохранять в базе и выводить, но вот в чем трабла, на сайте информации over 1000 и эта информация обновляется , как сделать такое:
При первом запуске нужно загрузить информацию с сайта / сохранить и выводить (тут в голове такая реализация - посмотреть сколько записей в таблице sqlite и если их нет, то выгрузить всю информацию)
При последующих запусках нужно проверить есть ли данная информация и если нет, то добавлять (а вот как тут быть? снова загрузить over 1000 записей и пройтись по всем с проверкой есть ли такая запись и если нет, то добавить?)
Кто сталкивался с подобным функционалом поделитесь как лучше реализовать
Такой подход:
1. Смотрите в базе hash1 (pagesize+timestamp) и в ответе сервера (в ответном заголовке GET-запроса от веб-сервера: header). Здесь страница передаваться не будет (если вы её не запросите потом). Обновилась (хеши разные) - грузите сам контент и переходите к п.2.
2. Поиск по XML нужного элемента (указан в БД) и снова сравнение с хеш-ом (контента нужного контейнера XML - hash2). Обновилась (хеши разные) - обновляйте контент в базе, нет - пропускайте и переходите к следующему.
если размер данных сервер возвращает - то проблем нет для стороннего источника, если нет - вы считываете обрабатывая "налету" буффер загруженных данных, пока не дойдете до своего "куска" и как только он будет получен - сразу же прервете получение страницы.