Перейти к содержанию
Fire Monkey от А до Я
  • 0

Обновление информации программы с сайта


tFeniks

Вопрос

Не знаю в какой раздел это лучше отнести, поэтому написал сюда. Ситуация такая. Пишу программу, которая будет при наличии интернета обновлять свою информация с сайта http://yazikovo.cerkov.ru/  Если интернета нет, то будет показывать в оффлайн режиме то, что есть уже в базе программы. Когда интернет появляется, то программа должна анализировать то, что появилось нового на сайте и добавлять в базу. Просвятите какую базу лучше использовать и если есть возможность то помогите с кодом.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Пишу для Андроид

Ну тогда особого выбора нет, либо SQLite либо IBLite. Второй не пользовался, не знаю, вроде отдельные лицензии надо еще покупать для продакшена. Я бы на первой остановился. Она пригодна и удобоварима. Поддерживается и андроидом и iOs  из коробки.

Сайт на какой базе данных сайт?

Ссылка на комментарий
  • 0

Сайт на WordPress, вот какую базу они там используют не знаю. Это платформа для всех церковных сайтов и страницек, которые на ней создает кто хочет бесплатно

Ссылка на комментарий
  • 0

да уж простенькая задача :) сделайте чтобы было хорошо и дайте код :)

 

дам алгоритм :) считываешь страницу новостей через idHTTP, бежишь по структуре html, вычисляешь новые ссылки, загружаешь страницы по этим ссылкам и заносишь текст в свою базу. 

Ссылка на комментарий
  • 0
  • Администраторы

Мне кажется, проще воспользоваться REST API и получать данные без UI. А дальше уж самому решать, что с ними делать.

https://wordpress.org/plugins/json-rest-api/

 

Я понимаю, что парсить страницу - это универсальное решение, но оно работает ровно до первого изменения шаблона дизайна страницы :-)

Ссылка на комментарий
  • 0

если плагин включен на сайте то да. а если нет? :) сайт не его что бы там включить их. 

 

да и что такого если дизайн сменится? например http://www.patriarchia.ru/db/news/ парсим с нее url что бы содержали http://www.patriarchia.ru/db/text/ и сверяемся есть такой в базе или нет, если нет то скачал добавил. если есть в тексте http://www.patriarchia.ru/db/news/page значит следующая страница. если url текста есть в базе значит все, новости кончились. 

Изменено пользователем haword
Ссылка на комментарий
  • 0
  • Администраторы

Если сайт не его, то есть еще RSS. Завязываясь на вытаскивание URL из кода страницы, вы автоматически получаете кучу проблем.

Например, что делать если ссылки динамические и содержат параметры? При чем две разные ссылки могут приводить на одну и ту же страницу. Вот взять банально этот форум:

Это две ссылки одной и той же страницы. В этом случае еще можно понять, так как тут защиты User Friendly имена для ссылок. А если нет. Есть сайты, которые в ссылку добавляют текущее время или информацию о странице с которой осуществляется переход. В таком случае вы получите бесконечное число ссылок.

 

Другой пример, если смотреть на сайт с точки зрения SEO продвижения. То есть техники при которых ссылки скрываются в исходном коде, а подгружаются они через JavaScript. Делается это, чтобы поисковая система не могла их найти. А пользователь мог ими пользоваться. Таким способом можно скрыть не важные страницы, с целью поднятия веса других ссылок: http://alaev.info/blog/post/4042

 

По этому самым надежным в этом плане способом все-таки является пользоваться известными протоколами: RSS, XML-RPC, REST API и тд.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...