Сайт о телевидении

Сайт о телевидении

» » Делаем свой RSS-канал. Создаем свой RSS канал с помощью Google Apps Script

Делаем свой RSS-канал. Создаем свой RSS канал с помощью Google Apps Script

RSS - семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами

Wikipedia

На многих сайтах можно увидеть кнопки или , что означает, что на этом сайте доступна лента новостей в формате RSS. Читателям сайта такой сервис удобен, поскольку при помощи Rss-агрегаторов, например, Yandex.Lenta или Kanban.ru можно собрать собственную новостную ленту и читать новости с разных сайтов в одном месте или получать их на свой e-mail при помощи сервиса Rss2Email . Подробнее об RSS читайте, например, в Компьтерре .

В этой статье речь пойдет не об использовании RSS-лент и агрегаторов, а о том, как быстро сделать новостную ленту на сайте при помощи программы RSS.PHP и MySql.

Начальные условия

Итак, у вас есть сайт, на котором есть поддержка PHP и работает база данных MySql (кстати, очень распространенное сочетание). Из базы, в которой хранятся тексты вашего блога или анонсы новостей и будем получать данные для нашей ленты. Лента будет строиться динамически, непосредственно при запросе, так что нужен только соответствующий скрипт. Вы можете написать его сами, но можете взять уже готовый

Немного теории

Для начала немного теории. Для нашей ленты будем использовать формат RSS 2.0, для тех кому интересно, направляю к описанию формата, который вы найдете . А мы будем использовать не все элементы, а только те, без которых действительно не обойтись:

Элемент Описание
title Заголовок канала.
link Ссылка на главную страницу сайта.
description Описание канала.
language Язык, на котором написан канал. Например, ru - русский
copyright Копирайт
managingEditor Электронная почта редактора канала.
webMaster Электронная почта веб-мастера.
pubDate Дата публикации информации в канале.
lastBuildDate Время последнего изменения канала.
category Определяет категорию, к которой принадлежит канал.
Item Собственно содержимое канала. Должен быть хотя бы один элемент.

Item

Элемент Описание
title Заголовок
link Ссылка на полный текст
description Аннотация
category Категория
pubDate Дата публикации статьи. Некоторые агрегаторы не будут отображать статью, если указанная дата еще не настала. Но далеко не все.

Поскольку RSS - это подмножество XML, то мы должны получить в итоге примерно следующее: Если будете что-то менять в скрипте, то проверяйте его на соответствие стандарту на сервисах Feed Validator или RSS Validator


Запуск программы

Программа состоит из следующих файлов: rss.php - файл запуска, rss.inc - включаемый файл с описанием класса, conn.inc - файл с описанием параметров соединения с базой данных.

Для запуска программы измените данные о соединении с БД в файле conn.inс, измените параметры ленты в файле rss.php и спишите в любой удобный каталог на Вашем web сервере, хоть в корневой. Не забудьте проверить структуру данных базы MySql, для программы можно использовать например, такую:

CREATE TABLE BLOG (ID int(11) NOT NULL default "0", title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default "", ab varchar(10) NOT NULL default "", PRIMARY KEY (ID)) TYPE=MyISAM;

после этого у вас будет лента с адресом

Что дальше?

А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами :
, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине, например, http://blogs.yandex.ru/add.xml и в каталоге http://blogs.yandex.ru/add-catalogue.xml

Бесплатно скачать программу для создания RSS-ленты, Rss.php (3 Кб) можно

Сделайте список своего контента. В текстовом редакторе сделайте список из 10-15 своих самых свежих записей. Можно больше, можно меньше. В список также включайте URL каждой записи, ее заголовок и дату публикации.

Создайте XML-файл. Откройте блокнот или TextEdit. И первым делом вам надо добавить к тексту т.н. хедер. Дело это не мудреное, достаточно скопировать приведенный ниже код: Title of your Feed http://www.yourwebsite.com/ This is the description of your Feed. Keep it to one or two sentences.

Начните добавлять контент. Каждая запись контента должна быть обрамлена своим тегом под хедером. Тут тоже все просто: для каждой записи копируйте нижеприведенный код, изменяя его соответственно: Content Title Direct URL to content Unique ID for content. Copy the URL again Wed, 27 Nov 2013 15:17:32 GMT (Note: The date must be in this format) Description for your content.

Закройте теги в конце ленты. Добавив все нужные новости, закройте теги и , затем только сохраняйте файл. В итоге, ваша лента должна выглядеть как-то так: My Cool Blog http://www.yourwebsite.com/ My latest cool articles Article 3 example.com/3 example.com/3 Wed, 27 Nov 2013 13:20:00 GMT My newest article. Article 2 example.com/2 example.com/2 Tue, 26 Nov 2013 12:15:12 GMT My second article. Article 1 example.com/1 example.com/1 Mon, 25 Nov 2013 15:10:45 GMT My first article.

Сохраните файл. Закончив работу над кодом ленты, надо сохранить файл в формате XML. Файл - Сохранить как, тут проблем возникнуть не должно. А вот дальше выберите типом расширения “Все файлы” и вручную смените расширение с.txt на.xml, а имя файла сделайте таким, чтобы оно совпадало с заголовком ленты (пусть и на латинице). Учтите, что в имени файла не должно быть пробелов.

Опубликуйте ленту. Файл есть, сайт есть, что нужно сделать? Правильно загрузить файл на сайт. Это можно сделать через FTP-клиент или через cPanel сайта. Главное - не забыть добавить на видное место ссылку на вашу ленту, чтобы люди могли на нее подписаться.

    • В случае ленты подкастов, можно отправить ее в iTunes, чтобы пользователи iTunes могли ее найти и подписаться на ленту через клиент iTunes. Впрочем, для этого нужно, чтобы вашу ленту одобрили местные модераторы.
  • Обновляйте свою ленту. Если вы поддерживаете ленту вручную, то обновлять ее придется всякий раз при публикации на сайте нового контента. Для этого просо откройте самый последний XML-файл и добавьте туда код для новой статьи или подкаста по инструкциям выше. Затем сохраните файл и заново загрузите его на сайт.

    • Старайтесь не делать ленту слишком длинной, и она будет быстрее загружаться. Добавляя новую запись, удаляйте самую старую. Если всегда добавлять новинки в верхнюю часть списка, то удалять самые старые записи из нижней части проблем не составит.
  • RSS-лента представляет собой замечательный стандартный компонент Joomla 3, но не многие полностью понимают как использовать его на сайте Joomla. А многие о нем вообще не знают В этом посте я познакомлю вас с RSS, расскажу как запустить и настроить RSS на вашем сайте стандартными средствами Joomla 3, а еще порекомендую пару лучших на рынке расширений для RSS-лент.

    Краткое введение в технологию RSS и ее преимущества

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

    К слову, данный способ вывода информации может пригодиться разработчикам мобильных приложений, чтобы отображать новости Joomla в мобильном приложении (хоть на Android, хоть на iOS, хоть на кроссплатформенных проектах).
    Для пользователей, наибольшим преимуществом RSS является то, что они не должны идти на каждый сайт, чтобы увидеть, есть ли что-то новенькое на том или ином сайте, потому что новый контент сам централизованно придет к ним. С помощью RSS-канала, пользователи могут легко просмотреть все заголовки, а затем прочитать фрагмент каждой статьи и выбрать то, что им больше интересно.
    Для владельцев бизнеса, RSS-ленты - отличная возможность. Путем создания RSS на своем сайте, они могут дать пользователям возможность подписаться на их контент, что в свою очередь означает, что вы можете превратить просто посетителя в постоянного читателя. Также, вы можете позволить продвигать ваш контент на других сайтах, или вы можете просто создать блог из RSS-ленты.

    Итак, Вы сможете, выйти на новых клиентов и создать качественные обратные ссылки на ваш сайт.

    Давайте приступим к созданию RSS-лента в новенькой Joomla 3.

    Как создать RSS-ленту в Joomla 3

    Шаг 1. Войдите в админ-панель вашего сайта

    Шаг 2. Теперь в панели администратора перейдите в Компоненты - Ленты новостей

    Шаг 3. Нажмите кнопку “Создать” в левом верхнем углу

    Шаг 4. Откроется окно, в котором вам нужно заполнить Заголовок и вставить ссылку на саму ленту (о том, где взять ссылку чуть ниже)

    Шаг 5. Сохраните изменения

    Теперь возникает вопрос, где же взять ссылку на ленту?

    Существует 2 варианта.

    Вариант 1. Если вы хотите транслировать на своем сайте ленту с другого сайта, например, новости, то вам нужна рабочая ссылка на RSS-ленту этого сайта.

    Существует огромное количество сайтов, которые дают возможность пользоваться их новостями. Например, можно использовать RSS-ленту РИА Новости. http://ria.ru/docs/about/rss.html

    И это далеко не единственный сайт, который предлагает такие возможности. Вы без труда сможете найти их в интернете:)

    Вариант 2. Но что, если вы хотите разместить свою ленту новостей Joomla на другом сайте или на своем собственном сайте?

    Чтобы сделать это возможным - воспользуемся стандартным способом создания RSS из категории новостей Joomla.

    Шаг 1. Откройте панель администратора - Материалы - Менеджер категорий.

    Шаг 3. Запомните или скопируйте ID этой категории.

    http://вашсайт.ru/index.php?option=com_content&view=category&id=НОМЕРАЙДИКАТЕГОРИИ&format=feed&type=rss

    Например: simplesite.ru/index.php?option=com_content&view=category&id=5&format=feed&type=rss

    А теперь создадим страницу пункта меню для вывода новости
    Шаг 1. Откройте менеджер меню

    Шаг 2. Создайте новый пункт меню с типом “Лента новостей”

    Шаг 3. Назовите пункт меню

    Шаг 4. Выберите созданную вами ленту

    Шаг 5. Сохраните изменения

    А теперь можно полюбоваться результатом.


    Расширения для создания RSS в Joomla

    Если же вы хотите немного упростить создание новостной ленты, то я порекомендую вам 2 расширения для Joomla:
    1. obRSS
    obRSS позволяет создавать неограниченное количество лент (или даже HTML страницу ленты) для вашего сайта на Joomla, который может выглядеть, как CNET, CNN, или BBC. Вы можете создавать, управлять и отображать все RSS-каналы в одном месте. Это расширение также можно использовать для вывода данных в json для использования в приложениях для iOS, Android.

    2. RizVN FeedBurner (бесплатный модуль)
    RizVN FeedBurner - очень простой модуль, который выводит RSS в максимально красивом виде и экономит пространство на вашем сайте Joomla. Вы можете полностью настроить его в бекэнде.
    В нем также есть много других функций, которые вам могут понравиться!

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

    Изначально нужно быть уверенным, что вы знаете о том, что RSS-документ – это, по сути своей, обычный файл, в котором специальным образом в виде текста описаны те или иные новости (или статьи). В итоге понятие «у меня (у моего сайта) есть RSS-канал» будет выражаться на практике в виде интернет адреса к этому самому документу (у меня на блоге это, к примеру, адрес: http://feeds.feedburner.com/devezoterik ). Ваши же читатели, имея этот адрес, в дальнейшем смогут следить за изменениями в этом файле с помощью .

    Использование сторонних сервисов (блогов)

    Способ, пожалуй, один из самых простых (не требует специальных знаний в области программирования, денежных затрат и т.д.), но при этом, как не парадоксально, он не плох. Можно использовать бесплатные сервисы, предоставляющие возможность вести свои блоги. Блоги или по-русски говоря «дневники», это чаще всего что-то вроде специфических домашних страниц ( можно более подробно об этом прочесть) :). Во-первых, на всех таких серверах вам выдают ссылку на RSS-документ (RSS-канал) вашего блога. Во-вторых, блоги имеют именно новостную структуру, т.к. все ваши записи в блоге идут последовательно, и каждая из них привязана к какой-либо дате, а это как раз то, что нам нужно.

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

    Подобных сервисов для ведения своих блогов предостаточное количество в интернете. Одни из самых популярных и надежных это: www.blogger.com , my.ya.ru и livejournal.com (но вообще их просто несметное количество, отличающихся обычно немногим). На каждом из указанных мной сервисов есть русская версия с подробной помощью, описывающей, как «завести» свой блог.

    Использование сервисов генерации RSS из обычных страниц

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

    Конечно, можно воспользоваться первым способом: создать где-нибудь блог и дублировать в него новости со своего сайта (обычно это те новости, которые выводят на первой странице сайта). Но тогда ведь постоянно придется дублировать новости с сайта на блог… Предлагаемый же способ дает альтернативу для более прогрессивных/ленивых (иногда грань между этими понятиями бывает мала:)) владельцев сайта.

    Смысл заключается в том, чтобы использовать сервисы, которые будут сами следить за вашей страницей новостей и создавать каждый раз (при обновлении вами страницы) актуальный RSS-документ. О подробностях этого процесса я . Писал в первую очередь для тех, кто хочет следить за чужими сайтами, но никто нам не мешает посмотреть с другой точки зрения и следить за своим 🙂 В итоге мы будет иметь ссылку на автоматически обновляемый RSS-документ, отражающий все новости на вашем сайте (правда, с задержкой около одного часа). Вам лишь нужно будет добавлять новости на свою страницу, не изменяя внутреннего форматирования html документа, чтобы сервисы «слежения» не потерялись на странице в поисках искомых новостей (чтоб узнать более подробную информацию, читайте статью по выше приведенной ссылке).

    Создание RSS-документа вручную

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

    Для создания и редактирования такого файла лучше всего использовать редактор или любой другой редактор, поддерживающий работу с кодировкой UTF-8 (без BOM). Документ должен быть в кодировке UTF-8 (без BOM). Вот пример того, как может выглядеть RSS-документ внутри (пример снабжен комментариями):

    Мой сайт http://www.moi_sait.ru Здесь вы сможете прочесть все последние новости сайта ru-ru http://www.moi_sait.ru/logo.jpg Логотип моего сайта http://www.moi_sait.ru Sun, 07 Jun 2009 04:00:11 +0300 На сайте реализована поддержка RSS Ура, наконец-то теперь есть поддержка RSS!
    Долой e-mail рассылку!
    Fri, 05 Jun 2009 10:39:18 +0300 Станислав http://www. moi_sait.ru/news/1.htm

    Сохранять такой файл в большинстве случаев лучше под именем «rss.xml». Имя rss уже как традиция, но можно использовать и любое другое имя, а расширение xml просто желательно (в этой статье я не способен оговорить и объяснить всех деталей, так как тогда она была бы явно слишком большой:)).

    Автоматическая генерация RSS-документа на своем сервере

    Этот способ подходит уже только для более искушенных веб-программированием людей. Если информация на сайте хранится в базе данных, а сами страницы являются серверными скриптами (а ля PHP), тогда становится возможным использовать самый автономный и не обременяющий в дальнейшем способ – создавать в автоматическом режиме RSS-документ при запросе оного пользователями. Описывать, как создать подобный скрипт, не имеет смысла, так как уже есть достаточно статей на эту тему с готовыми примерами и разъяснениям к ним. Вот одни из них (для языка PHP): ссылка 1 , ссылка 2 , ссылка 3 , ссылка 4 , ссылка 5 .

    Скромный посредник — Feedburner

    И вот у вас, наконец, есть желанный адрес своей RSS-ленты. Казалось бы, чего еще можно желать? Конечно же, подробной статистики. Именно для этого и был создан сервис feedburner . Он позволит вам получать максимально возможную статистику, такую, например, как: количество подписчиков, распределение подписчиков по странам, степень интереса подписчиков к тем или иным новостям, возможность получать ваши RSS-новости по e-mail и т.д.

    Основной принцип работы feedburner`а заключается в том, что он является посредником между вашим RSS-документом и читателями. Вы указываете feedburner`у адрес своей RSS-ленты, после чего feedburner сможет отдавать эту ленту уже из другого адреса (адрес будет таким: http://feeds.feedburner.com/ + имя вашей RSS-ленты ). И если пользователи будут подписываться именно на адрес от feedburner`а, вы сможете в полной мере использовать все функции данного сервиса. При этом нужно помнить, что если кто-то подпишется на настоящий адрес вашего канала, вы не сможете получить прелести использования feedburner`а.

    Эта схема поможет придать больше наглядности вышеописанному:

    О настройках feedburner можно прочесть . А так же , и .

    На самом деле, помимо всего прочего, этот сервис несет в себе еще один плюс. Так как все подписчики будут подписываться на RSS-ленту, находящуюся на feedburner, то вы можете, когда захотите, поменять адрес оригинального источника RSS-ленты (например, пробуя со временем разные способы создания RSS, описанные в этой статье, или, может, вы смените адрес сайта), не потеряв при этом всех своих подписчиков (они всегда будут видеть адрес ленты на feedburner, не подозревая о изменении ваших настроек). Если же люди подписывались бы на оригинальный адрес RSS-документа (без посредника в виде feedburner), то при его смене (вами) они перестанут получать новости, так как документа по старому адресу не будет существовать.

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

    Самый простой способ создать RSS-ленту для понравившегося сайта- воспользоваться сервисами или . Первый из них отличается рускоязычным интерфейсом и даже не требует регистрации. Второй имеет возможность перевода интерфейса на русский. Оба сервиса крайне просты в использовании. Чтобы получить RSS-ленту, достаточно указать ссылку на исходный веб-сайт. Никаких дополнительных инструментов, заводящих пользователя в тупик, не предусмотренно. Задача поиска обновляющихся элементов и оформления ленты целиком возложена на алгоритмы самих сервисов.

    Более гибкие возможности редактирования собственных RSS-каналов предлагаются на сайтах и . Feedity сканирует указанную пользователем веб-страницу и составляет список всех расположенных на ней ссылок, которые ведут на новые сообщения или статьи. PonyFish имеет полезную особенность сохранение и передачи cookies, что позволяет обрабатывать страницы, для просмотра которых требуется регистрация.

    Неплохие возможности генерации RSS-лент предоставляет сервис . Данный сервис, в отличие от выше рассмотренных работает в "полуавтоматическом" режиме. Пользователь может активно влиять на отбор данных для RSS-ленты и ее оформление. Еще один сервис предлагает для создания каналов новостей три режима: AnySite, MySite, Podcast. Понятно, что первый режим это создание Rss-канала для любого сайта. Второй режим предлагает самостоятельно поставить в коде своих вев-страниц теги разметки, на которые будет ориентироваться робот сервиса. И третий это возможность создания звуковых подкастов.

    Если у вас уже есть RSS-лента, то в нее можно включить контекстную рекламу. Самый удачный для этого дела сервис Feedburner принадлежащий поисковому гиганту Google. Он достаточно тесно связан со службой AdSense, так, что при желании можно включить в свою ленту контекстную рекламу. Разместив уже сужествующую ленту на данном сервисе вы получаете возможностьдобавлять к ней ряд полезных сервисов, в том числе подкасты в видеофоматах.

    Ну вот пожалуй и все. Воспользоваться одним их вышеприведенных сервисов для создания своей RSS-ленты не представляет из себя ничего сложного, достаточно лишь желания, а выгода для вашего сайта будет неоспоримой.