Любой способ отобразить большое количество внешних RSS-каналов на сайте, без повторной очистки? - PullRequest
0 голосов
/ 29 июня 2010

IMDb имеет отдельный канал RSS для каждого фильма, который они перечислили. У меня есть сайт, на котором много страниц, связанных с фильмами, и я сохранил идентификатор IMDB для каждого из них.

Я хотел показать 5 лучших результатов из каждого канала RSS для каждого отдельного фильма. Канал выглядит так: http://rss.imdb.com/title/tt1013743/news

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

Ответы [ 2 ]

0 голосов
/ 29 июня 2010

Вы можете сохранять заголовок длины содержимого в своей базе данных для каждого выпуска.Маловероятно, что два выпуска будут иметь одинаковую длину в байтах, и худшее, что может случиться, это просто потерять обновление, но это не большая проблема.Таким образом, вам нужно только отправить HEAD http запросов , что очень дешево.На стороне сервера вы можете хранить сгенерированный кеш сжатых файлов (gzcompress), чтобы обеспечить минимально возможный размер файла.Таким образом, вы также экономите время разбора XML на ленту RSS.

Кроме того, вы можете попробовать YQL , чтобы получить только 5 самых последних новостей из ленты.Кроме того, обязательно используйте cURL для извлечения RSS, потому что он очень гибкий и принимает сжатый ввод, поэтому вы можете сократить использование полосы пропускания и время передачи .

0 голосов
/ 29 июня 2010

Я думаю, что короткий ответ - нет.Если только imdb сам не предоставляет такой канал, то что-то где-то должно выполнять выборку каждого канала в отдельности, чтобы найти фильмы с самыми последними обновленными новостями.

Существует общих новостей сайтаfeed но я действительно не думаю, что это делает то, что вы хотите.

Я полагаю, что теоретически вы можете использовать Yahoo Pipes для доставки комбинированного канала, тогда ваш сервер должен толькополучить этот единственный канал.Тем не менее, вам по-прежнему нужно подключаться к каждому каналу фильма или находить какой-то способ их прокручивать (увеличивается ли часть 'tt1013743' в вашем примере rss uri для каждого нового фильма?).На самом деле, я понятия не имею, сможет ли Пайпс справиться с этой потенциально огромной задачей.Лучше всего связаться с imdb и попросить добавить «Недавно обновленный» RSS-фид.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...