Парсер контента для ICMS 2 2.X

3548
Парсер контента для ICMS 2

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

Компонент «Парсер контента» предназначен для получения контента с любого рода интернет-ресурсов, его обработки и публикации на сайте. В отличии от RSS-парсеров вы не ограничены списками RSS-лент, а можете получать контент с любых ресурсов. Например, вы хотите на своем сайте публиковать новости из новостной ленты другого сайта или публиковать статьи из определенной колонки какого-то сайта. Вы создаете задание, указываете все необходимые параметры и парсер делает это вместо вас. Причем парсинг может работать в двух режимах — ручном и автоматическом(если у вас настроен CRON).

На практике это выглядит так — вы можете самостоятельно запускать созданное вами задание из панели управления, или доверить его запуск cron-у, указав интервал времени, через которое данное задание необходимо выполнить. Результатом работы будет получение указанного вами в задании числа публикаций. Причем эти публикации могут быть опубликованы на сайте или отложены на модерацию и решение о публикации каждого конкретного материала вы можете принять самостоятельно.


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

Автоматическое создание превью

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

Загрузка изображений из тела статьи

Если контент сайта-источника предполагает наличие картинок в теле статьи, вы можете приказать парсеру загружать картинки на ваш сервер. Для загрузки изображений используются стандартные средства системы, автоматически создаются указанные вами пресеты(micro, small, normal, big и т.д.). Таким образом вы можете выбрать только нужные вам пресеты изображений. При удалении статьи в интерфейсе парсера данные изображения будут удалены с сервера.

Замена тегов

Автоматическая замена тегов в тексте статьи. Заменяйте теги на нужные вам, применение этой опции весьма обширно. Предположим, что структура контента на вашем сайте построена с использование тегов <p>...</p>, а контент, размещенный на сайте-источнике имеет верстку, основанную на тегах <div>...</div>. Парсер может автоматически заменять теги div на тег p, тем самым адаптируя контент источника под ваш сайт. Также вы можете заменять любые другие теги.

Замена аттрибутов

В ходе парсинга вам хотелось бы изменить внешний вид элементов или добавить интерактивности? Нет ничего проще — просто укажите, какие аттрибуты вы бы хотели добавить/заменить и это будет сделано автоматически в ходе получения статьи. Данная опция позволяет менять классы, ID, стили элементов на нужные вам. Например заменить курсив жирным текстом или добавить к картинкам на странице аттрибуты для Lightbox.

Удаление мусора

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

Результат

Результат работы компонента «Парсер контента» вы можете посмотреть на сайте ic-press.ru. Сайт наполняется контентом полностью в автоматическом режиме. За неполный месяц тестирования компонентом было опубликовано на сайте более 12000 публикаций.

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

Компонент "Языки" для ICMS 2 | Компонент "Языки" для ICMS 2 - Обновление 1.1
Комментарии (44)
SE7EN 19 декабря 2016 в 23:43 +1
Немного не понял, поэтому спрошу. Есть ли возможность с одного сайта донора парсить новости в разные категории своего сайта?
dwd 19 декабря 2016 в 23:53 +2
Да, такая возможность есть.
SE7EN 19 декабря 2016 в 23:50 +4
Посмотрел видео - и сразу маленькое предложение: Чтоб сайт донор не хныках за то что у него тырят новости может стоит сделать функцию типа указание источника, ну чтоб парсер автоматически в конце статьи или ещё куда вставлял что-то типа "Источник"
dwd 19 декабря 2016 в 23:55 +5
Существует полноценная вкладка "Ссылка на источник". Три типа ссылок: ссылка на страницу с исходной статьей, ссылка с указанными вами анкором и URL, упоминание источника без ссылки. Добавление ссылок возможно как в виде отдельного поля так и прямо в текст статьи. Прямые ссылки или ссылки через редирект.
vikont 20 декабря 2016 в 00:08 +2
Галереи умеет парсить в поля галерей со слайдером?
dwd 20 декабря 2016 в 00:19 +2
Помнится мне вы уже задавали этот вопрос. С тех пор ничего не изменилось.
Василич 20 декабря 2016 в 05:33 +1
Отличная разработка, но она мне интересна только с точки зрения парсинга из социалок, где, 90% групп закрытые. Можете ли вы помочь с логином в социалки и парсинга из закрытых групп? За отдельный бюджет, конечно же. Можно в личку.
Спасибо.
kirkr 22 декабря 2016 в 12:21 +1
Я думаю что за отдельную плату разработчик сможет Вам реализовать curl авторизацию под пользователем и забор из социалок.
Melon 20 декабря 2016 в 14:19 +1
Есть вопрос по очистке от мусора. Если в тексте какая-то фраза сделана в виде ссылки, то можно ли парсить сам текст без ссылки, или же можно только указать в качестве мусора ссылку и текст тоже не спарсится?
dwd 20 декабря 2016 в 14:23 +2
Ответ на ваш вопрос - 20:50 на видео
Melon 20 декабря 2016 в 14:41 +1
спасибо
Bubble Gumoff 20 декабря 2016 в 17:37 +2
+Помоему отличный парсер, не знаю как там у предшественников, оценить не удалось, но здесь почти все что нужно, ну кроме заморочек считая обход логина, подмена ip, и т.д.
dwd 20 декабря 2016 в 17:50 +3
Получение страниц с сайтов источников в парсере производится при помощи библиотеки cURL, которая позволяет вам указывать множество параметров подключения, в том числе и произвести авторизацию на сайте перед загрузкой страницы. Вы сами можете определять настройки cURL для любого сайта, страницы, маски страниц. Вот вам несколько статей про авторизацию на сайтах при помощи cURL - статья 1, статья 2. Поскольку для каждого сайта настройки cURL будут разными то получить данный функционал "из коробки" не представляется возможным, но у вас есть все необходимое для реализации вашей задачи.
Bubble Gumoff 20 декабря 2016 в 19:01 +1
значит и этот вопрос решен - отлично!
evgen 20 декабря 2016 в 20:29 +1
А новогодние скидки ждать ? И вопрос надо пару парсеров, сначала один потом ещё один через некоторое время, на второй на скидку можно рассчитывать. С Уважением!
dwd 20 декабря 2016 в 20:45 +4
Зачем ждать? Можно просто написать и получить новогоднюю скидку. Вы не первый, кто задает мне этот вопрос и все, кто хотел получить новогоднюю скидку, ее уже получили. После приобретения одной копии компонента, все остальные вы также сможете получить со значительной скидкой. И, думаю это будет касаться не только данного компонента, но и тех, которые появятся в будущем.
чебурек дохлэй мыш 20 декабря 2016 в 22:35 +1
Пара вопросов.

1. Можно ли доработать компонент таким образом, чтобы была интеграция с InstantMaps? Есть источник, где кроме картинок и текстов есть адрес, телефон, почта, адрес сайта. Нужно при парсинге заполнить эти поля, а также найти координаты по адресу.

2. Есть ли (или может в планах) автоперевод на другой язык при парсинге? Также интересует двойной перевод)) Понимаю, звучит странно... В общем, суть такая. Парсим англоязычный сайт, сразу переводим его на русский, потом назад на английский и только после этого публикуем на сайте.

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

Спасибо.
dwd 20 декабря 2016 в 23:07 +4
1. InstantMaps никак не связан с типами контента. Если ошибаюсь поправьте. У компонента InstantMaps свои таблицы в БД со своей структурой. Поэтому "допиливание" компонентa до того состояния, о котором вы говорите приведет к наличию кучи никому, кроме владельцев InstantMaps, полей и прочего хлама. Гораздо логичнее парсить всю вашу страницу целиком, а для выдергивания таких полей как почта, адрес, телефон написать обработчик, который непосредственно перед постингом будет делать всю эту работу. В общем и целом задача реализуема. Но делать это стоит только при отсутствии более подходящих программных решений, поскольку это напоминает копание ямы веслом. Форма вроде та же, но продуктивность разная.

2. Автоперевод реализуем путем интеграции с любым компонентом, имеющим функции перевода, например тем же компонентом " Языки". Несколько строк кода решают поставленную вами задачу.

И самое главное. Нельзя интегрировать вилку с чайником, а пылесос с бульдозером. Вещи надо использовать по их прямому назначению. Стремление автоматизировать процесс это замечательно, но всему есть разумный предел. Вы же хотите чтобы парсер был легким в настройке и имел миллион полей, не грузил сервер и переводчиком на пол ставки подрабатывал, а вдобавок оставался универсальным решением для парсинга любых источников. Тут надо, как в анекдоте, определиться - парсер либо умный, либо красивый.)
чебурек дохлэй мыш 21 декабря 2016 в 00:16 +3
InstantMaps никак не связан с типами контента.
Прямо связан. Это и есть тип контента со всеми стандартными полями. И еще несколько дополнительных полей добавлено.

при отсутствии более подходящих программных решений
Так вот в том-то и дело, что нет ничего подходящего)) Куча парсеров, и ни один не умеет делать это.

Несколько строк кода решают поставленную вами задачу
Хорошо, что Вы разбираетесь)) И даже знаете, скорее всего, каких строк, и даже их содержание)) Я не знаю. Потому такие вопросы глупые задаю.

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

Спасибо.
dwd 21 декабря 2016 в 13:29 +4
Ну пылесос и вилка это всего лишь примеры. Для наглядности, так сказать. Не более. Судя по тому, что в ваших постах не было даже намека на какой-либо конкретный сайт я понимаю, что сайт будет не один - это и есть универсальность. Если же вас интересует конкретный источник то давайте подробности, можно в личку. Получить данный функционал из коробки можно только в одном случае - если компонент будет называться "Парсер для InstantMaps".
чебурек дохлэй мыш 21 декабря 2016 в 15:50 +1
ОК, напишу в личку.
ermakover 24 декабря 2016 в 15:58 +2
Да вот такой "Парсер для InstantMaps" многие давно ждут. И я первый бы его купил.
Romanovcmc 21 декабря 2016 в 12:30 +1
Не смотрел видео. Вопрос, есть ли возможность в тексте статьи менять слова на синонемы? Т.е. забиваешь множество замен, и он согласно им текст меняет, типа рерайта небольшого.
dwd 21 декабря 2016 в 12:35 +6
Да, можно менять все - текст, теги, стили, классы и другие аттрибуты. Принцип прост:

хочу это=>заменить этим||хочу это=>заменить тем||троллейбус=>общественный транспорт||метро=>подземка
Romanovcmc 21 декабря 2016 в 20:48 +1
круто
lezginka.ru 21 декабря 2016 в 21:55 +2
+ интересная работа
вопрос - есть ли возможность до пупки по-пробовать ?
dwd 21 декабря 2016 в 22:14 +3
Конечно. Пишете мне письмо(почта есть в профиле), в ответном письме получаете данные для теста.
PolarOne 9 января 2017 в 05:35 +1
Отличный парсер! Пользовался подобным самописным, по сути тоже самое, но не столь удобно и крассиво реализовано как здесь. Да еще ссылки внутри контента тоже грабило. Буду пробовать реанимировать свой сайт с этим модулем.
Владимир86 5 марта 2017 в 12:34 +5
Компонент мощный + поддержка по всем вопросам на высоте v
Спасибо Вам Александр joke
Андрей 12 марта 2017 в 20:02 0
Доброго времени суток!
Умеет ли этот парсер парсить телефоны с AVITO?
dwd 12 марта 2017 в 21:15 +1
Не знаю, не пробовал, но если не ошибаюсь там телефоны в виден картинок. В виде картинки парсер телефон забрать точно сможет, про текстовый вариант телефона говорить не буду.
Pocus 13 марта 2017 в 02:35 0
Мало того, что там картинки, так еще в некоторых разделах доступ к номеру платный. Например в резюме.
Но есть обходной манёвр, через мобильную версию авито. Там номер телефона идет текстом.
Правда для этого ваш парсер должен уметь "кликать" по ссылкам, либо формировать ajax get запросы с дополнительными параметрами и разбирать json массивы.
a1xzhu 21 апреля 2017 в 07:32 0
Скажите а данный парсер может с досок объявлений объявления парсить
dwd 21 апреля 2017 в 11:03 +1
Парсер это машина, он не отличает доски объявлений от любых других сайтов и работает с любым HTML(и не HTML) кодом. Будь то доска объявлений или форум. Как и все роботы не способен получать данные, выводимые при помощи ajax/javascript(этого не умеют даже роботы поисковых систем), все остальное ему под силу. Одним словом, если нужный вам контент содержится в исходном HTML-коде страницы он может быть вами получен, если выводится прямо в браузер при помощи ajax/javascript - нет.
@Janob 19 июня 2017 в 21:14 0
Всем советую очень полезный и довольна мощный компонент/ За час можно наполнит вес сайт круто спс dwd
KoXa 12 февраля 2018 в 08:02 0
Подскажите, может ли этот парсер по определенным словам отбирать новости и добавлять в ту или иную новостную категорию?
dwd 12 февраля 2018 в 08:31 +1
Мне кажется в наше время любой сайт умеет по определенным словам отбирать новости, поэтому не вижу смысла делать то же самое в парсере. Ну а ип контента и категории на своем сайте конечно же выбираете вы сами.
KoXa 12 февраля 2018 в 08:40 0
Вы являетесь разработчиком данного палагина?
KoXa 12 февраля 2018 в 09:01 0
Уважаемый разработчик! Я не просто так спрашиваю, значит для меня данная функция является приоритетной, зачем тратить мое и свое время отвечая загадками? Хотелось бы получить ответ, есть такая функция или ее нет, если ее нет буду рассматривать другие варианты для реализации своих потребностей.
dwd 12 февраля 2018 в 09:11 +1
Рассматривайте. Данной опции в компоненте не было, нет и не будет.
~ Grey ~ 1 марта 2018 в 13:05 0
Здравствуйте. А сколько стоит заказ 1 ленты за настройку.
dwd 1 марта 2018 в 14:58 +3
Здравствуйте! Настройка это опыт. А опыт не продается.)) А если честно у меня и в мыслях не было заниматься подобным. Процесс настройки прост и требует лишь базовых знаний HTML. Как сказал один из покупателей компонента , думаю к этому мне и добавить нечего.
TOPg 13 мая 2018 в 23:24 0
Здравствуйте, а на вкладке категории, если я создам дополнительные поля их тоже можно будет там выбирать? или как поступать?
dwd 14 мая 2018 в 00:26 +1
Здравствуйте! Да, все созданные вами в типе контента поля доступны для выбора во вкладке Категория. А если вы имеете в виду дополнительные поля парсера, которые можно создавать в любом количестве установив пакет расширения, то они привязываются к полям вашего типа контента точно таким же образом.