Технология RSS становится все популярнее как у пользователей Интернета, так и у создателей сайтов. И это неудивительно — чтение новостей в RSS-формате способно сэкономить как трафик, так и время. Но далеко не всегда RSS-лента есть там, где она нужна. Предположим, что нам очень хотелось бы получать новости в RSS-формате с некоего сайта. Почему именно в RSS?
Да потому, что таким образом мы читаем новости с двух или трех десятков сайтов и менять схему не хотелось бы. Но вот беда — тот самый сайт не имеет экспорта новостей в RSS (к слову сказать — не такая уж огромная редкость). Помочь нам могут интернет-сервисы, делающие из любой HTML-страницы ленту RSS. Рассмотрим один из таких сервисов — Feed43.com.
Feed43 — сервис, позволяющий на основе любой веб-страницы сделать RSS-ленту
Feed43 работает по простому принципу — сначала ищет на странице блоки по шаблону, определяемому пользователем, затем из этих блоков строит RSS-ленту. Попробуем разобраться детально, как это делается.
На Feed43 можно регистрироваться, а можно и работать без регистрации — что кому нравится. Стать зарегистрированным пользователем имеет смысл в том случае, если нужно создать несколько лент (в этом случае доступ к ним удобен со страницы My feeds). Еще зарегистрированный пользователь имеет возможность создавать и использовать платные ленты — они имеют такие преимущества перед бесплатными, как меньший период обновления, большие допустимый размер исходной страницы и число новостей в ленте и отсутствие в конце текста каждой новости строчки Delivered by Feed43 service, ставящейся в бесплатных лентах. Итак, регистрируемся и входим. Щелкаем по ссылке Create new feed и приступаем к созданию ленты.
Сначала получаем нужную страницу в виде HTML-кода
Шаг первый. Указываем имя страницы и кодировку. Имя лучше указать как /redir.php?url=mydomain.ru%2Fpage.html%3C%2Fem%3E%2C даже если зайти на эту страницу можно, набрав просто /redir.php?url=mydomain.ru%3C%2Fem%3E%2C а кодировку, если содержимое страницы не на английском языке, указывать просто обязательно — иначе в ленте получим всякую ерунду. И получаем исходный код страницы.
Затем в HTML-коде находим нужные фрагменты по определенным признакам
Шаг второй. Указываем, что и где будем искать. Делается это на основе шаблонов, и некоторые их элементы заслуживают отдельного внимания:
Для начала в поле Global Search Pattern указываем диапазон, в котором будут искаться новости. Можно указать просто {%} — тогда просматриваться будет вся страница, а можно, например, <body>{%}</body> — в этом случае поиск будет ограничен границами действия тега body.
Затем надо указать, какой фрагмент HTML-кода считать новостью. Разберем простой пример. Предположим, что заголовок новости у нас оформляется тегом <h1>, а текст новости — <div>. Тогда шаблон новости в поле Item (repeatable) Search Pattern должен выглядеть следующим образом:
<h1>{%}</h1>{*}<div>{%}</div>
Нажимаем кнопку Extract и смотрим в окне Clipped Data — что найдено на странице.
Нужно отметить, что заголовок каждой новости у нас определен как {%1}, а текст — как {%2}.
Из найденных блоков составляем содержимое RSS-ленты
Шаг третий. Из найденных блоков собираем ленту. Заполняем поля Feed Title, Feed Link и Feed Description — это название, ссылка и описание ленты соответственно. Примечание здесь одно — согласно справке Feed43 в поле Feed Link надо указывать ссылку на исходную страницу, а не на саму ленту.
В поле Item Title Template вводим {%1} (строку заголовка вставляем без изменений), в Item Link Template — ссылку на исходную страницу (поскольку сама новость собственной ссылки не имеет), в Item Content Template — {%2} (текст новости вставляем также без изменений). В тексте новости (и только в нем) можно использовать HTML-теги, но стоит убедиться, что они будут нормально пониматься программами чтения RSS-ленты. Нажимаем Preview — и видим готовую ленту:
Под окном просмотра дается ссылка на ленту. Копируем ее, вставляем в RSS-агрегатор и читаем новости в привычном виде.
Feed43 — не единственный подобный сервис
В заключение стоит отметить, что Feed43, конечно же, не единственный такой сервис. Можно найти, например, и FeedYes, и FeedFire, но они уже не дают возможность какой-либо настройки в бесплатном аккаунте — можно просто указать страницу, с которой брать новости. Если повезет — удастся сделать ленту на основе этой страницы, если нет — остается либо платить, чтобы иметь возможность детально настраивать процесс, либо искать другой сервис. Такой, как Feed43.
Ссылки по теме
Статья получена: hostinfo.ru