Как Google Reader получает каждый элемент в RSS-канале?

StackOverflow https://stackoverflow.com/questions/220878

  •  03-07-2019
  •  | 
  •  

Вопрос

RSS-канал Slashdot http://rss.slashdot.org/Slashdot/slashdot.Если я загружу XML-файл напрямую, я получу только несколько сообщений за сегодняшний день.Однако, если я подпишусь на канал в Google Reader и продолжу прокручивать вниз в их интерфейсе «бесконечной прокрутки», кажется, что я могу получить произвольное количество сообщений Slashdot из прошлого - может быть, я смогу получить все сообщения Slashdot за всю историю?

  1. Как Google Reader извлекает неограниченное количество сообщений из RSS-канала?
  2. Как я могу сделать то же самое?
Это было полезно?

Решение

Google следит за одним экземпляром канала для всех своих пользователей, поэтому они отслеживают и хранят статьи Slashdot, например, задолго до того, как любой новый подписчик начнет читать.

Чтобы сделать то же самое, вам нужно будет регулярно опрашивать нужные RSS-каналы и сохранять любые уникальные статьи, которые вы найдете локально.

Другие советы

Я только что обнаружил, что если вы аутентифицированы, вы можете сделать что-то вроде:

http: //www.google.com/reader/atom/feed/http://rss.slashdot.org/Slashdot/slashdot?n=100

чтобы получить произвольное количество результатов из канала.

Они индексируют Интернет в течение многих лет и сохраняют все, к чему приходят.Поэтому в тот момент, когда вы добавите ссылку «подписаться на это» на свою страницу, сканер Google начнет индексировать эту страницу и сохранит ее.

Что касается RSS, у них также есть преимущество, заключающееся в том, что на один и тот же канал подписывается несколько человек.

Поэтому для вашего приложения я предлагаю решить эту проблему, сохраняя все загруженные элементы локально, чтобы новые подписки могли вернуться к моменту времени, когда первый пользователь подписался на этот канал.Он не даст вам безграничных возможностей, но со временем он предоставит вам гораздо больший архив, чем просто 20 последних элементов.

scroll top