Главная » Компоненты » Компонент Универсальный парсер для инстант 2

Компонент Универсальный парсер для инстант 2
17 октября 2016

Продолжаем оптимизировать свою работу с сайтом. Этот компонент позволит избавиться от рутины при копировании материалов с чужих сайтов на свой.

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

Принцип работы парсера

1. Парсер выбирает одну из задач

2. Парсер проходит по ссылке, которая указана в настройках задачи

3. Собирает ссылки

4. Фильтрует их исходя из настроек блока Обработка адресов ссылок

5. Обходит полученный список ссылок

6. Ищет в них заголовок и тело статьи исходя из настроек блока Поиск заголовка и текста статьи

7. Сохраняет инфу на сайт.

8. Если указано в настройках, копирует также картинки, а первую картинку сохраняет в поле изображение записи

Настройки

Вы указываете id автора статей. Галочку Снизить нагрузку следует включать после окончательной настройки задач. Если при парсинге записи статьи не будут найдены заголовок или тело статьи, такая ссылка будет запомнена как просмотренная и при следующем проходе парсера будет пропущена, что значительно снизит нагрузку.

 Задачи парсера

Для каждого сайта создается задача парсера. Настроек много, но настраивается просто.

Название – укажите для себя, чтобы отличать эту задачу в списке задач парсера.

Ссылка на сайт – укажите ссылку на список материалов сайта, например, список новостей или записей блога.

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

Обработка адресов ссылок – настройка этого раздела снизит нагрузку и позволит точнее парсить материалы, парсер будет обходить только те разделы, которые указаны.

Поиск заголовка и текста – здесь нет ничего сложного. Открываете страницу с материалом сайта донора в режиме просмотра html-кода. И ищете уникальный текст, который идет до заголовка и после. Аналогично с текстом статьи.

На примере начало и конец статьи обрамлены тегами. Указываем их в настройках через вертикальную черту. Заголовок статьи в большинстве случаев находится между <title></title>, поэтому в настройках укажем <title>|</title>

Специально для этих целей в парсере сделан раздел тестирование, о нем ниже.

Обработка заголовков – здесь вы можете дополнительно отфильтровать получаемые записи. Например, можно парсить с сайта МВД новости только по интересующему вас городу, указав в Да-слова название вашего города (без окончания). Новости, содержащие в заголовке слова, указанные в блоке Нет-слова, будут пропущены. А Замена слов позволит удалить из заголовка ненужные фрагменты, например, название сайта-донора.

В блоке Изображения можно настроить работу парсера с изображениями. Копировать или нет изображения, каким пресетом их обработать, поместить первое изображение из текста в поле изображение – все это парсер умеет делать.

В блоке Настройки типа контента укажите куда парсеру складывать полученные материалы.

Тестирование

Раздел создан специально для тестов и понимания, что получится в результате работы парсера. Тут вы сможете подобрать Выражение для поиска заголовка и текста статьи. При нажатии кнопки Тестировать парсер обработает страницу и выдаст полученный заголовок и тело статьи.

Таким образом, изменяя Выражения для поиска заголовка и текста статьи вы подберете оптимальный вариант.

Помните, из текста будут вырезаны все лишние теги, поэтому не бойтесь при подборе оставить внутри текста пустые div или другие теги. Они будут удалены.

Страница тестирование запоминает введенные вами выражения, поэтому вы всегда можете внести в них правки и протестировать обработку страницы снова.

Лог действий парсера

В компоненте присутствует лог действий парсера. Там выводятся 300 последних действий парсера.

На данный момент парсер мониторит:

- отвечает ли сайт

- парсилась ли данная ссылка

- подошла ли ссылка настройкам задачи и др.

Т.о. если что-то пошло не так, вы всегда можете узнать об этом в логе парсера.

Модерация

Рекомендуется ею пользоваться. Полученные парсером материалы надо отсмотреть, при необходимости внести коррективы. При отключении модерации материалы сразу будут опубликованы на сайте.

А затем опубликовать.

Запуск парсера

Запускается парсер с помощью cron. Найти и включить задачу парсера вы можете в Планировщике. Там же настроить частоту запуска парсера.

УСТАНОВКА

Компонент поставляется обычным пакетом-установщиком. Устанавливать по инструкции http://docs.instantcms.ru/manual/addons

После установки настройте компонент, добавьте задачи парсера и настройте время выполнения задачи «Универсальный парсер» в Планировщике.

ТРЕБОВАНИЯ

Стандартные для инстант 2.5.1 + ionCube.

Обновление

Компонент точно будет обновлен в ближайшее время, чтобы учесть пожелания.

Демо

Не знаю, что тут показать.

Вот, например,

статья-донор https://59.мвд.рф/news/item/8748255/

и

результат http://bergorod.ru/news/2577-v-bereznikah-molodoi-chelovek-ponesyot-nakazanie-za-razboinoe-napadenie.html

Задача парсера настроена так. Заголовок изменен вручную.