FDE Grabber 4.9 выпущен на волю!
Ящик Пандоры уже открыт, FDE Grabber 4.9 выпущен на волю, и его уже не остановить :-) Изменения и дополнения, которые вошли в новую версию:
- появилась возможность экспорта настроек категорий источников и источников в специальный датафайл (о новом функционале читайте ниже)
- появилась возможность импорта настроек категорий источников и источников из датафайла (о новом функционале читайте ниже)
- исправлены мелкие недочёты и недоработки прошлых версий





- функционал позволяет вести заработок на настройке категорий и источников, принимая заказы у своих знакомых
- обмениваться настройками граббера со своими друзьями и знакомыми
- позволяет организовать «быстрый старт» новичкам. С нашего демо сайта без проблем можно экспортировать нужную настройку и импортировать себе в граббер

Парсер сайтов FDE Grabber 4.8
- Была сделана и добавлена полноценная система перелинковки (как она работает - читайте далее)
- В DOM шаблоны для получения полезного контента при настройке категории источников граббера добавлена возможность указания номеров не уникальных элементов, но подходящих под указанный DOM шаблон, из которых будет получаться полезный контент. Например, если указан DOM шаблон в виде BODY TABLE DIV, а на странице элементов, подходящих под этот шаблон больше одного, то теперь есть возможность указать порядковые номера этих элементов (через запятую или пробел) - из них FDE Grabber будет получать контент. Если соответствующее поле не заполнять, то FDE Grabber будет получать контент сразу из всех элементов, подходящих под указанный шаблон.
- исправлены небольшие недочёты прошлых версий граббера
Система перелинковки (добавления ссылок)
Если для вашего сайта активирована система перелинковки (в гразделе "Сайты"):
- Указывается адрес ссылки и подписи к ней (через запятую). Также, указывается сайт (добавленный в граббер через раздел «сайты»), для которого будут ставиться ссылки.

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

Как удалённо публиковать получаемые парсером статьи, читать далее...
Как использовать FDE Grabber на сервере с динамическим IP

Как использовать FDE Grabber на сервере с динамическим IP, читать далее...
Новая версия системы импорта новостей FDE Grabber 4.7
- Добавлен новый модуль для редактирования языковых файлов системы импорта новостей (как им пользоваться и зачем он нужен читайте ниже)
- Добавлен новый хак (микропрограмма для обработки контента) для обхода редиректов (перенаправлений) в ссылках. Так, если в контенте существует ссылка, вида https://site.ru/?id=23123217, при переходе по которой вы перенаправляетесь на страницу https://fdstar.net/, то при активации данного хака система перейдёт по ссылке и заменит адрес на конечный результат: https://fdstar.net/ вместо того, который был вначале (https://site.ru/?id=23123217). Хак работает только (!) с редиректами, отправляемыми через HTTP заголовки — если сайт использует другой тип перенаправления, например через метатег или с помощью языка javascript, то использование данного хака не поможет.
- Теперь при работе удалённой публикации файлы во временной папке на удалённом сервере не накапливаются, а сразу удаляются.
- Добавлена поддержка нового типа движка DataLife Engine 9.6 (который вышел 1 мая).





Новая версия системы импорта новостей FDE Grabber 4.7, читать далее...
Новая версия парсера контента FDE Grabber 4.6
- Добавлена возможность использования замен регулярными выражениями, использования замен текста, использования DOM замен, использования хаков (микропрограмм для обработки, постобработки контента, корректировки верстки и т.д.) до получения контента (перед парсингом). Данная возможность обеспечивает ещё более гибкую настройку парсера контента FDE Grabber:

- В настройках категории источников, при выводе списка хаков, теперь происходит их группировка в обобщённые блоки:
- При использовании ручного крона во время его работы теперь учитывается таймаут, по истечению которого, в случае неответа сервера происходит перезапуск ручного крона. Это обеспечивает более стабильную работу ручного крона, без остановок, например тогда, когда ваш сервер работает через кэширующий прокси-сервер nginx и nginx, не дожидаясь ответа от кроновского скрипта граббера, по таймауту выводит ошибку «504 Gateway Time-out».
- При просмотре лога событий добавлен фильтр по дате, с возможностью указывать: вывод всех записей, независимо от даты / вывод записей за текущий день / вывод записей за текущий месяц / а также вывод записей за указанный период:
- При просмотре информации о статье добавлен вывод дополнительной информации о категории источников, источнике и адресе источника:
Новая версия парсера контента FDE Grabber 4.6, читать далее...
DOM парсинг контента
Как было описано ранее, в рамках пресс релиза выхода парсера сайтов FDE Grabber 4.4, DOM – это аббревиатура от английского “Document Object Model”, что переводится на русский язык, как “Объектная Модель Документа”.
Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, в котором каждый узел представляет собой элемент, атрибут, текстовый, графический или любой другой объект.
Узлы полученного дерева связаны между собой отношениями “родительский-дочерний”. Иными словами, система импорта новостей FDE Grabber теперь умеет построить из HTML кода документа иерархическое DOM дерево, состоящее из узлов, связанных между собой отношениями родитель-потомок.
Чтобы иметь возможность наглядно представлять себе DOM структуру какого-либо документа статьи мы советуем вам установить бесплатное дополнение к браузеру FireFox, которое называется FireBug.
Для этого заходим через браузер FireFox на сайт https://addons.mozilla.org/ru/firefox/
Проводим поиск плагина, указывая в поисковом запросе «FireBug» https://addons.mozilla.org/ru/firefox/addon/firebug/?src=ss
На странице описания плагина нажимаем на кнопку «Добавитиь в FireFox», добавляем плагин, перезапускаем браузер FireFox и пробуем его в действии.
Пусть, для примера мы хотим составить DOM шаблон для импорта контента со страниц сайта https://warezed.ru/. Для этого открываем любую страницу с контентом, например https://warezed.ru/819-Nad-Severnym-morem-vot-vot-vzorvetsya-gaz.html через браузер FireFox, выделяем полный текст статьи:
Вызываем контекстное меню, нажимая на правую кнопку мышки по выделенному тексту статьи:
В открывшейся панели FireBug ищем уникальный родительский элемент, содержащий полный текст статьи:
Можно заметить, что полезный контент статьи полностью содержится в теге span, имеющим стилевой класс news
Поэтому мы можем составить DOM шаблон так: span.news (это очень напоминает описание CSS описание стилей). Для уверенности в уникальности нашего шаблона мы можем пойти дальше и составить иерархическую последовательность узлов в виде цепочки, обращая внимание на то, что элемент span.news является дочерним по отношению к элементу div.big-news, поэтому альтернативный DOM шаблон будет выглядеть так: div.big-news span.news (что опять же идентично CSS нотации описания стилей). Или даже так: body div.big-news span.news
В общем случае иерархическая DOM цепочка узлов может быть неограниченной.
В том случае, когда стилевой класс указывается через пробел, например для атрибута class=″main left″ в теге div, который является дочерним по отношению к body мы не можем записывать шаблон в виде а ля: body div.main left, так как граббер будет его интерпретировать искажённо - он будет думать что div.main содержит в себе элемент left, что в корне неверно — для таких случаев нотация должна иметь вид: body>div.main left, то есть в этом случае мы иерархическую последовательность узлов разделяем не пробелами, а через символы ″>″.
Вот так, легко и непринуждённо мы можем составлять DOM шаблоны для парсера контента FDE Grabber.
Для того, чтобы открыть FireBug можно также воспользоваться иконкой, как показано на скриншоте ниже:
Как работает DOM парсинг на примере разбора содержимого статьи:
- указывается DOM шаблон
- FDE Grabber преобразует документ в иерархическое DOM дерево
- начинается поиск по указанному DOM шаблону необходимого нам элемента и в случае его нахождения мы получим полезный контент
<body> <div> <table> <tr> <td> <div class=″content″> полезное содержимое, которое мы желаем получить </div> </td> </tr> </table> </div> </body>Тогда мы можем выстроить некоторый шаблон, который будет выглядеть, например так: body div table div.content Последовательность body div table div.content означает, что мы ищем элемент div со стилевым классом “content“, который является дочерним по отношению к table, а table в свою очередь дочерним, по отношению к div, а div к body. Допускается указание идентификаторов, в виде div#id, где div - это элемент с идентификатором “id“. Кроме того, допускается указание любой общности элементов в виде “*”. Конструкция вида *.content означает любой элемент со стилевым классом “content” Ну хорошо, скажете вы, но это не позволяет распознать контент в большинстве сайтов, работающих на популярном движке DLE. Контент там находится, обычно в блочных элементах с уникальным идентификатором, вида news-id-555555 ДА! Именно поэтому мы сделали возможность указания дополнительного сопоставления атрибутов Например, id {preg} #content_\d+#i – это сопоставление значения атрибута id с указанным регулярным выражением #content_\d+#i. width {like} 100 – это сопоставление значения атрибута width со строковым значением “100” (не регулярное выражениие). Как несложно догадаться, для всех сайтов, работающих на DLE унас будет всего один универсальный шаблон: id {preg} #news\-id\-\d+#is На скриншоте ниже приводится пример настройки граббера FDE Grabber под любой сайт, работающий на CMS DataLife Engine:

Новая версия FDE Grabber 4.5
- добавлена возможность массового изменения настроек категорий источников парсера новостей
- добавлена возможность массового изменения настроек источников парсера новостей
- для статей добавлен новый статус “в архиве”
- добавлена возможность перемещать статьи сразу же после публикации в архив, а также перемещать их вручную через раздел “статьи”
- добавлена возможность получения сжатых страниц на стороне сервера (gzip, deflate и т.д.)
- улучшена система обхода защит от ботов на некоторых сайтах – теперь граббер в своём поведении ещё более похож на обычный браузер клиента и практически полностью имитирует его работу
- исправлены мелкие недочёты
Бесшаблонный парсинг
Начиная с версии 4.4 в системе импорта новостей FDE Grabber появился бесшаблонный парсер или бесшаблонный граббер (кому как нравится :-))
При настройке категории источников имеется вот такая опция:
При её активации можно не указывать шаблона для поиска полезного контента, тогда парсер сайтов FDE Grabber будет пытаться получить полезное содержимое с помощью своей технологии бесшаблонного парсинга.
Надо сказать, что в большинстве случаев у него получается распознавать контент довольно качественно. Поэтому это может оказаться полезной особенностью для быстрой настройки категории.
FDE Grabber 4.4 уже доступен
- В настройках категории добавлена возможность указания минимального необходимого количества в статье картинок. Если количество картинок в статье меньше указанной величины, то статья будет удалена и не будет импортирована
- Добавлена возможность бесшаблонного парсинга новостей (статей). Это означает, что теперь в большинстве случаев можно получать полезный контент полного содержимого статьи вообще не составляя никакого шаблона
- Добавлена возможность DOM парсинга как содержимого статей так и источников.
- Добавлена возможность DOM замен, наряду с обычными заменами и заменами, с помощью регулярных выражений
- указывается DOM шаблон
- FDE Grabber преобразует документ в иерархическое DOM дерево
- начинается поиск по указанному DOM шаблону необходимого нам элемента и в случае его нахождения мы получим полезный контент
<body> <div> <table> <tr> <td> <div class="content"> полезное содержимое, которое мы должны получить </div> </td> </tr> </table> </div> </body>Тогда мы можем выстроить некоторый шаблон, который будет выглядеть, например так: body div table div.content Последовательность body div table div.content означает, что мы ищем элемент div со стилевым классом “content“, который является дочерним по отношению к table, а table в свою очередь дочерним, по отношению к div, а div к body. Допускается указание идентификаторов, в виде div#id, где div - это элемент с идентификатором “id“. Кроме того, допускается указание любой общности элементов в виде “*”. Конструкция вида *.content означает любой элемент со стилевым классом “content” Ну хорошо, скажете вы, но это не позволяет распознать контент в большинстве сайтов, работающих на популярном движке DLE. Контент там находится, обычно в блочных элементах с уникальным идентификатором, вида news-id-555555 ДА! Именно поэтому мы сделали возможность указания дополнительного сопоставления атрибутов Например, id {preg} #content_\d+#i – это сопоставление значения атрибута id с указанным регулярным выражением #content_\d+#i. width {like} 100 – это сопоставление значения атрибута width со строковым значением “100” (не регулярное выражениие). Как несложно догадаться, для всех сайтов, работающих на DLE унас будет всего один универсальный шаблон: id {preg} #news\-id\-\d+#is Кроме поиска, по такой же схеме мы сделали возможность указания DOM замен. При этом можно заменить любой DOM элемент на указанную замену. Парсить с помощью DOM шаблонов в FDE Grabber можно не только полное содержимое статей, но и источники. Итоги Как мы видим, теперь имеется возможность ещё более удобного указания шаблонов для парсинга и время на реализацию новых идей!