Строение
RSS импорт новостей
Тема в разделе "Создание своего сайта", создана пользователем virt0s, 1 мар 2009.
  1. virt0s

    virt0s Новичок

    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    0
    DLE 7.0
    Вообщем настройки стоят так:
    URL RSS канала:Пожалуйста, войдите или зарегистрируйтесь для просмотра ссылок
    .....
    Конвертирование новостей поставил html

    Шаблон для поиска:<div id='news-id-{skip}'>{get}</div></td>

    Cookies сайта в этом окне пусто

    Нажимаю получить новость.Получаю краткую новость.Затем жму получить полную новость,на что он мне выдает:
    <span style="color:blue">Не удалось получить полную новость, возможно, неверно составлен шаблон для поиска новости</span>
    Что,где и как прописать,чтобы получать полную новость?
     
  2. yoxkex

    yoxkex Новичок

    Сообщения:
    640
    Симпатии:
    3
    Баллы:
    0
    Единственное что нашел((

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

    1 - Шаблон захвата. Он служит для определения частей текста HTML-страницы, которые нужно получить. Должен начинаться и заканчиваться уникальным HTML-текстом страницы. Используются следующие операторы:
    { get } - указывает, что в этом месте мы собираем контент (при обработке скриптом заменяется на “(.*)” )
    { skip } - указывает, что в этом месте мы пропускаем контент (при обработке скриптом заменяется на “.*” )

    2 - Шаблон исключений. Служит для вырезания ненужного текста и кода из тех частей, которые были получены на предыдущем этапе. Все конструкции шаблона исключений должны заключаться в тэг <ex>, то есть иметь следующий вид: <ex>это вырезается</ex>. Внутри тэга <ex> можно использовать оператор { skip }. Также для вырезания HTML-тэгов предусмотрена сокращенная версия: <ex-t:{тэг}>, где {тэг} - любой HTML-тэг.

    Некоторые символы (такие как: ( ) [ ] . + * $ ?) входят в синтаксис регулярных выражений, поэтому их нужно экранировать (ставить перед ними обратный слэш), например “)” => “\)”. Символ “/” экранируется автоматически.

    Тестирование шаблона. Для тестирования шаблона нужно выбрать новость в списке новостей и нажать кнопку “Тест” рядом с этим списком или внизу страницы. В результате будет открыто новое окно (вкладка) браузера с результатом (возможна ситуация, когда браузер может блокировать открытие новой страницы; в таком случае корректно настройте браузер). Если открытая страница/вкладка оказалась пустой, значит шаблон неверен.

    Для упрощения работы с текстовым полем шаблонов были созданы кнопки:
    “очистить” - очищает поле ввода, “+” - увеличивает поле ввода, “-” - уменьшает поле ввода.
    Для упрощения написания шаблона были созданы кнопки:
    “Тест” - служит для просмотра страницы новости от <body> до </body>. Используется для быстрого определения - будут ли захватываться картинки или нет, а также для проверки на наличие клоакинга (то есть подтверждения что скрипту отдается та же страница, что и обычному человеку, просматривающему данную страницу браузером) и ряда других моментов.
    { get } - для вставки в текстовое поле шаблона оператора: { get }
    { skip } - для вставки в текстовое поле шаблона оператора: { skip }
    <ex> - для вставки в текстовое поле шаблона конструкции: <ex>{ skip }</ex>
    [^>]*> - для вставки в текстовое поле шаблона конструкции: [^>]*> (звучит: до закрытия тэга включительно)
    ex > class - для вставки в текстовое поле шаблона конструкции: <ex>class=”[^”]*”</ex> (служит для очистки всех атрибутов class во всех тегах новости)
    ex > style - для вставки в текстовое поле шаблона конструкции: <ex>style=”[^”]*”</ex> (служит для очистки всех атрибутов style во всех тегах новости)
    Выпадающий список тегов - для быстрого ввода исключения HTML-тэгов (одного или нескольких, собранных по классу тэгов).

    Часто бывают ситуации когда на одном сайте для каждого раздела/категории новостей используется отдельная RSS-лента, и нужно ввести в базу данных скрипта все RSS-ленты с данного сайта. Как правило, в этом случае шаблоны не различаются. Для таких случаев у нас предусмотрено копирование шаблона.
    Для копирования шаблона нужно выбрать категорию, подкатегорию и RSS-ленту из которой вы хотите скопировать шаблон и нажать кнопку “GO”. В результате этого действия шаблоны введенные в полях ввода заменятся на шаблоны выбранной RSS-ленты.

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