2015-08-24 3 views
0

У меня есть веб-страница, которая подключается к внешнему сайту и пытается сохранить некоторую информацию в своем RSS-канале в MySQL каждый раз, когда я посещаю эту веб-страницу. Проблема в том, что этот сайт ежедневно обновляет свой RSS-канал, поэтому, если однажды я забуду посетить мою веб-страницу, информация из RSS с внешнего сайта будет потеряна. Есть ли способ получить или найти RSS вчера, если сайт ежедневно обновляет свой RSS-канал?Как идти в ногу с ежедневным изменением RSS-канала?

+0

RSS-канал обычно не стирает предыдущие (дни) статьи. Имеет ли URL-адрес какой-то параметр, который определяет, что вам нужны только «сегодняшние» статьи. –

+0

http://export.arxiv.org/rss/astro-ph.IM Это пример RSS, который меня интересует. – user3741635

ответ

0

Проблема заключается в том, что подача, которую вы даете, не включает pubDate в качестве подэлемента каждого элемента ... нормальный способ помогает читателям RSS обнаруживать новые элементы. И в фиде есть a date fault.

Если вы были (возможно,) в процессе автоматической публикации (например, RSS для WordPress), вы можете использовать Cron Job со своего веб-сервера, где вы могли бы сказать ... «проверьте, есть ли новый элемент, и если да, ».

Мои навыки кодирования недостаточны, извините, чтобы объяснить, как (на сайте я управляю, плагин выполняет эту задачу).

0

Ваш подход, вероятно, является самым первым шагом :) Но, как вы уже определили, возникают проблемы, такие как необходимость часто загружать вашего читателя, чтобы вы никогда не пропустили данные). Это также довольно медленно (и невозможно эффективно масштабировать, как только вы начнете иметь сотни RSS-каналов ...).

Вы можете check this question and my answer there.

TL; DR: запускайте cronjob ежедневно/ежечасно, чтобы не пропустить обновления. Затем реализуйте такие вещи, как PubSubHubbub, чтобы вы знали о обновлениях фидов, как они есть, а не опроса фидов :)