Задача сформировать rss-ленту для http://news.rambler.ru/world/
содержание ленты состоит из:
Заголовка,
изображения,
текста
и ссылки на ресурс с новостью.
Не совсем разобрался в синтаксисе кода и создания своей ленты.
Если делать ленты на основе существующей "http://news.rambler.ru/rss/world/",
то выходит создать только текстовую часть без изображений.
Использовал код:
var d = new Document(article.url, channel.encoding);
var el = d.getElementsByAttr("div", "class" , "text p-t p-b")[0];
article.body = el.innerHTML;
Прошу помощи.
Можно попробовать, например, так:
var d = new Document(article.url, channel.encoding);
var body = "";
// Пытаемся выцепить картинку
var el = d.getElementsByAttr("div", "class" , "b_cluster.mimage p-t")[0];
// Добавляем ее, если нашли
if (el != undefined)
body += el.innerHTML;
// Берем текст
el = d.getElementsByAttr("div", "class" , "text p-t p-b")[0];
article.body = body + el.innerHTML;
to Reset2891
Спасибо тебе огромное, всё работает!
Rss-Farm - замечательный сайт, он помог мне решить очень большое количество вопросов!
Спасибо, ещё раз!
Есть ещё вопрос:
- Возможно ли убрать даты новостей в Rss-ленте?
- Если возможно, то как именно это сделать?
В чем проблема с датой, зачем ее требуется убрать?
С датой никаких проблем в принципе.
Я использую модуль для joomla для публикации rss на сайт.
Автоматически модуль не считывает rss, надо на кнопку нажимать (лучше не нашел, много похожих, но качеством стягивания новостей не дотягивают) для публикации.
И поэтому не соответствие с датами, дата когда я нажал на кнопку (сегодняшняя) и дата создания новости указанная в rss (час назад или вчера). Из за такой неудобовыкладываемости, новостям стянутым из rss присваивается степень "Опубликовано, но приостановлено" и они так и висят в архиве. Чтобы это исправить приходиться в ручную менять даты.
Но, в модуле есть такой пункт, если его выбрать то даты создаются самой программой в момент стягивания. Главным условием это пункта остается то, что в rss не должно никаким образом упоминаться о датах.
Собственно и всё.
Возможно ли решить эту задачу?
Reclamo, сейчас - нет такой возможности. Возможно появится при введении premium-сервисов.