Бесшаблонный парсинг

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

Бесшаблонный парсинг, читать далее...

FDE Grabber 4.4 уже доступен

Дорогие друзья! Сообщаем о том, что вышла новая версия системы импорта новостей FDE Grabber 4.4 Нужно сказать, что с этой версии в граббере начинается новая веха в истории FDE Grabber. Было сделано немало изменений в плане улучшения производительности, но и реализовано множество новых идей… Обо всём по порядку, начнём с мелочей:
  • В настройках категории добавлена возможность указания минимального необходимого количества в статье картинок. Если количество картинок в статье  меньше указанной величины, то статья будет удалена и не будет импортирована
  • Добавлена возможность бесшаблонного парсинга новостей (статей). Это означает, что теперь в большинстве случаев можно получать полезный контент полного содержимого статьи вообще не составляя никакого шаблона
  • Добавлена возможность DOM парсинга как содержимого статей так и источников.
  • Добавлена возможность DOM замен, наряду с обычными заменами и заменами, с помощью регулярных выражений
А теперь непосредственно о самом главном, о DOM парсинге и о преимуществах, которые мы получаем, используя DOM шаблоны DOM – это аббревиатура от английскогоDocument Object Model”, что переводится на русский, как “Объектная Модель Документа”. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями “родительский-дочерний”. Иными словами, система импорта новостей FDE Grabber теперь умеет построить из HTML кода документа иерархическое DOM дерево, состоящее из узлов, связанных между собой отношениями родитель-дочерний элемент. При этом технология DOM парсинга разработана нами самостоятельно, в стенах компании FDSTAR и не основывается ни на каких-либо чужих разработках. Как работает DOM парсинг на примере разбора содержимого статьи:
  • указывается DOM шаблон
  • FDE Grabber преобразует документ в иерархическое  DOM дерево
  • начинается поиск по указанному DOM шаблону необходимого нам элемента  и в случае его нахождения мы получим полезный контент
Как выглядит DOM шаблон В DOM шаблоне указываются DOM элементы (узлы)  в виде иерархической последовательности (как и в CSS стилях или, например jquery). Рассмотрим пример. Пусть, полезный контент содержится в документе, который выглядит следующим образом:
<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 можно не только полное содержимое статей, но и источники. Итоги Как мы видим, теперь имеется возможность ещё более удобного указания шаблонов для парсинга и время на реализацию новых идей!

FDE Grabber 4.4 уже доступен, читать далее...

Новая версия граббера сайтов FDE Grabber 4.3

Дорогие друзья, сообщаем о том, что вышла новая версия системы импорта новостей и статей FDE Grabber 4.3 О сделанных изменениях и дополнениях:

  1. Была изменена система логирования. Теперь в лог записи сохраняются не в виде одноязычной фразы, язык которой совпадает с языком интерфейса по умолчанию, а в виде параметров, что даёт возможность при просмотре лога показывать описание события на текущем языке, выбранном администратором
  2. Добавлена возможность замены регулярными выражениями, а также обычной замены текста после основных преобразований контента (когда именно следует  применять замену указывается при настройке категории)
  3. Добавлены два новых хака для указания ссылки на источник (для соблюдения авторских прав). Можно настроить указание ссылок на источник по своему усмотрению и вкусу, изменив файл хака (хаки обязательно требуется сохранять в кодировке UTF-8)
  4. Добавлен хак корректировки незакрытых тегов. Работает быстрее чем предыдущий. Теперь именно он используется в  комплексном хаке “красивый контент”
  5. Добавлена возможность предварительного просмотра статей при выводе списка статей. Просмотр можно осуществлять как в виде HTML так и обычном виде, добавлена возможность быстрого просмотра при наведении мышки на ссылку “просмотр”, с помощью ajax технологии
Теперь можно приобрести систему импорта новостей FDE Grabber в полностью автоматическом режиме, оплатив через систему электронных платежей WebMoney Transfer, подробности здесь: https://fde-cms.ru/buy_grabber.html Детальное описание системы импорта новостей FDE Grabber можно найти здесь: https://fdstar.net/fde-grabber.html Как обновить систему FDE Grabber на новую версию?
  • зайти в персональный кабинет на нашем сайте https://fde-cms.com/ или https://fde-cms.ru/
  • скачать дистрибутив версии 4.3*
  • следовать инструкции по обновлению, которая находится в корне дистрибутива (файл “how_to_update_from_4.2_to_4.3.txt”, текст сохранён в кодировке Windows-1251)
* Были вопросы о том, как это сделать, как скачать дистрибутив FDE Grabber – ответ прост:
  • Заходим на сайт https://fde-cms.com/ или https://fde-cms.ru/ (первый на английском языке, второй на русском) под своим логином. Если ещё логина нет, то требуется зарегистрироваться на странице регистрации: https://fde-cms.ru/do/registration/
  • Переходим в раздел лицензий:   https://fde-cms.ru/do/my_licenses/. Если у вас ещё нет лицензии, купить лицензию FDE Grabber на странице https://fde-cms.ru/do/order/ (требуется залогиниться)
  • Далее, на странице лицензий находим нужный нам дистрибутив и нажимаем на ссылку “скачать” (смотрите скриншот ниже). Здесь требуется предостеречь: не нажимайте по несколько раз на эту ссылку – генерация дистрибутива довольно длительный процесс, поэтому требуется дождаться ответа сервера, в случае двойного нажатия сайт вас забанит и придётся писать в службу поддержки для разблокировки

Новая версия граббера сайтов FDE Grabber 4.3, читать далее...

Хаки для граббера

Что такое хак, применительно к грабберу? Хак, это микропрограмма, вызываемая для обработки получаемого содержимого (контента). Из-за того, что полученный контент часто приходится каким-либо образом обрабатывать, например выравнивать картинки по правому или левому краю или по центру. Или, к примеру, удалять все ссылки на третьи сайты, оставляя просто текст или заключать в тег <noindex>, добавляя атрибут rel=nofollow Таких простых задач, может набраться довольно много. Поэтому, мы добавили в систему импорта новостей возможность указывать хаки для обработки контента, и  даже создавать свои (потребуются знания языка PHP)

Хаки для граббера, читать далее...

Кроппинг изображений

Наверняка вам приходилось бывать на новостных порталах, где все изображения имеют маленький, причём одинаковый размер. Неужели авторы новостей сидят в фотошопе или в гимпе и занимаются операцией подгонки под один размер (кроппинг, crop image)? Нет, всё гораздо проще. Это делают обычные скрипты или программы в автоматическом режиме при публикации.

cropped

В нашем случае это будет делать система импорта новостей FDE Grabber, если это ей сказать в настройках.

Кроппинг изображений, читать далее...

Автоматизация граббинга кроном

В данной статье речь пойдёт про автоматизацию импорта новостей на *nix-овых платформах, то есть, про запуск кроновских скриптов граббера, с помощью планировщика задач cron В граббере имеется 3 этапа импорта статей:

  1. кроновский скрипт путь_к_грабберу/crontab_feeds.php определяет один из доступных источников получения статей (RSS/Atom/HTML источник) и обновляет его. Если, при этом, имеются новые статьи (уникальность статьи определяется по названию), то статьи будут добавлены в качестве задания для получения По мере запуска данного кроновского скрипта, источники обновляются по кругу Каждому запуску скрипта соответствует одно обновление одного из доступных источников
  2. кроновский скрипт путь_к_грабберу/crontab_articles.php смотрит на задания для получения статей и получает статью. Одному запуску данного скрипта соответствует одно получение статьи
  3. кроновский скрипт путь_к_грабберу/fde_grabber_3/crontab_publicate.php публикует полученные статьи в вашу CMS

Автоматизация граббинга кроном, читать далее...

Обход пейджера

В данной статье речь пойдёт не о приборе с одноимённым названием, а о совершенно ином значении. Пейджер, от английского слова page означает нумерацию страниц в виде ссылок: назад  1  2  3  ...  100  вперёд Поняли о чём идёт речь? ;-) Да,  именно о разбиении на страницы большого списка новостей. Очевидно, что каждая страница пейджера является HTML источником для граббера. И адреса данных страниц выглядят примерно так: https://fdstar.com/page/1/ https://fdstar.com/page/2/ https://fdstar.com/page/3/ ... https://fdstar.com/page/100/ Опять шаблон :-): https://fdstar.com/page/{page}/

Обход пейджера, читать далее...

Импорт статей с HTML источников

Ранее мы с вами рассмотрели импорт новостей с RSS/Atom источников. Пришло время познакомиться с граббингом с HTML источников. Но перед этим нам нужно понять, что такое HTML источник. Для граббера источник - это просто обновляющийся список новостей, в котором можно выявить следующие данные по каждой статье:
  1. адрес конечной статьи
  2. название
  3. краткое описание
  4. возможно, некоторые другие дополнительные данные
Очевидно, что HTML источник - это тот же RSS или Atom фид, только с нестандартным шаблоном парсинга. Поэтому, при использовании HTML источника нам требуется указывать шаблон для него. HTML шаблон для HTML источника выявляется совершенно аналогично описанному способу выявления шаблона для категории, за тем лишь исключением, что теперь у нас имеется больше переменных: {date} - дата; {name} - название; {link} - адрес к полному описанию статьи; {description} - краткое описание; {category} - категория публикации; {null} - ненужный контент; Добавление HTML источника совершенно аналогично добавлению RSS/Atom источника, только теперь требуется указать ещё и шаблон для парсинга. Проверить правильность указания шаблона для парсинга HTML источника можно в разделе "Тест HTML источника"

Импорт статей с HTML источников, читать далее...

Граббинг с RSS/Atom источников

Как можно импортировать контент с RSS или Atom источников? Каков прицип работы? В двух словах имеем вот что: имеется постоянно обновляющийся список новостей (feed, фид) в котором, обычно есть следующая информация по каждой статье (обычно в фиде представлены 10-20 последних статей):
  1. адрес статьи
  2. название статьи
  3. краткое описание
  4. дата
этого нам достаточно, чтобы добавить задание для граббинга с подобного RSS/Atom источника. Но перед этим, нам потребуется настроить категорию для граббера. В категории источников указываются настройки, согласно которым будет обрабатываться получаемый контент (содержимое).

Граббинг с RSS/Atom источников, читать далее...

Интересные фичи граббера

Ручное добавление задания В данном разделе вы можете вручную добавить задания для получения (импорта) определённой статьи Ручной CRON manual_cron В данном разделе вы можете запускать кроновские скрипты граббера вручную. Работа системы импорта новостей происходит в три этапа:

  1. кроновский скрипт путь_к_грабберу/crontab_feeds.php определяет один из доступных источников получения статей (RSS/Atom/HTML источник) и обновляет его. Если, при этом, имеются новые статьи (уникальность статьи определяется по названию), то статьи будут добавлены в качестве задания для получения По мере запуска данного кроновского скрипта, источники обновляются по кругу Каждому запуску скрипта соответствует одно обновление одного из доступных источников
  2. кроновский скрипт путь_к_грабберу/crontab_articles.php смотрит на задания для получения статей и получает статью. Одному запуску данного скрипта соответствует одно получение статьи
  3. кроновский скрипт путь_к_грабберу/crontab_publicate.php публикует полученные статьи в вашу CMS
Администраторы В данном разделе вы можете добавлять/изменять/удалять администраторов системы получения статей. Также, здесь можно скорректировать логин и/или пароль выбранного пользователя-администратора Фейковые пользователи В данном разделе вы можете добавлять/изменять/удалять фейковых (мнимых) пользователей. Фейковые пользователи могут использоваться для случайного проставления авторства публикуемых статей, а также случайного проставления авторства публикуемых фейковых комментариев. Фейковые комментарии В данном разделе вы можете добавлять/изменять/удалять фейковые комментарии, которые могут случайно добавляться при публикации полученных статей от имени одного из фейковых пользователей. Утилиты В данном разделе вы можете воспользоваться одной из утилит:
  1. удалить временные файлы старше дня - если по какой-то причине в директории граббера для временных файлов остались временные файлы, то их можно удалить
  2. удалить файлы старше дня - если по какой-то причине в директории граббера для полученных файлов остались файлы, то их можно удалить
  3. удалить неполученные статьи - если по какой-то причине статьи не были получены граббером, то соответствующие данные о них в базе можно удалить
  4. удалить опубликованные статьи старше XXX даты - так, например, можно очистить уже неактуальные данные о полученных статьях (для того, чтобы не было дубляжа получения статей, информация о статьях должна храниться определённое время)
  5. удалить удалённые статьи - если статьи не подошли по указаным параметрам, то они будут помечены как "удаленные", при этом информация о них всё-равно остаётся в базе. Данная утилита очищает базу от подобных статей
  6. приостановить/возодновить работу CRON скриптов - для приостановки/возобновления работы кроновских скриптов
Экспорт/импорт настроек В данном разделе можно осуществить экспорт/импорт настроек граббера. Справка В данном разделе представлена справочная информация системы импорта статей Информация о системе В данном разделе вы можете просмотреть конфигурацию PHP Совместимость системы В данном разделе вы можете узнать насколько совместима система импорта новостей с вашей платформой Выход Для выхода из админцентра системы импорта новостей и для удаления сессии, можно использовать данную ссылку

Интересные фичи граббера, читать далее...