PHPost Grabber - это PHP-скрипт для автоматического "репостинга" постов/статей/контента (сбора новостей). Автоматическое наполнение сайта новостями является первостепенной задачей для тех, кто хочет сделать свой веб-сайт интересным пользователю.
Регулярное наполнение сайта актуальным контентом самостоятельно вручную для многих может оказаться непосильной задачей отнимающей много времени! Ведь даже ручное копирование с другого сайта текста одного поста, очистка его от CSS-стилей оформления, его последующая подготовка/форматирование для публикации на своём сайте, копирование, оптимизация, загрузка на сервер и вставка в статью изображений/видео-роликов, - отнимает довольно немало времени.
Автоматический парсинг новостей с других сайтов собранных с помощью PHP-граббера (PHP-парсера) поможет избавится от необходимости ручного наполнения сайта контентом и своевременно разнообразит сайт свежими новостями.
У нас можно купить граббер статей на PHP, которому мы дали название PHPost Grabber. Ну, а кто владеет навыками программирования на PHP, тот сможет попробовать написать парсер постов самостоятельно с использованием сторонних PHP-пакетов с открытым исходным кодом.
В греббере контента PHPost Grabber мы использовали такие сторонние PHP-пакеты с открытым исходным кодом как:
- adodb/adodb-php
- ashtokalo/php-translit
- bower-asset/jquery
- ezyang/htmlpurifier
- fxp/composer-asset-plugin
- jbroadway/urlify
- masterminds/html5
- npm-asset/bootstrap
- phpmailer/phpmailer
Управление/обновление сторонними PHP-пакетами выполняется централизовано с помощью менеджера пакетов Composer.
Что умеет PHPost Grabber?
Вот основные/базовые возможности:
- Граббер независим от файлов какого-либо движка и все манипуляции (обработка/вставка/обновление/удаление) с контентом выполняет самостоятельно.
- Поддержка HTML5 контента.
- Возможность использовать CURL + HTTP Proxy или SOCKS Proxy.
- Подделка строки HTTP_USER_AGENT.
- В качестве источника ссылок на сграббливаемые посты граббер может использовать ленты новостей 'RSS' и 'Atom', либо XML карту сайта ('Sitemap').
- Возможность регулировать число постов сграббливаемых за один раз.
- Поиск поста по атрибутам блока.
- Отдельный поиск вступительного текста, на случай его размещения в отдельном от остальной части поста блоке.
- Конфигурируемые правила очистки с помощью HTMLPurifier (для удаления CSS-стилей и нежелательных HTML-элементов).
- Конфигурируемые правила очистки с помощью DOMDocument removeChild() (для удаления блоков с многочисленной вложенной структурой других элементов, которые сложно выпилить с помощью preg_replace()).
- Конфигурируемые правила очистки поста от куска строки найденной с помощью stripos(), substr и str_replace(). - Конфигурируемые правила очистки поста от куска строки с помощью str_replace().
- Конфигурируемые правила обработки поста с помощью регулярных выражений preg_replace().
- Конфигурируемые правила удаления/замены нежелательных слов.
- Разделение поста на вступительный и остальной текст, настраиваемое число абзацев во вступительном тексте.
- Несколько позиций размещения миниатюры во вступительном тексте.
- Возможность указать свой ХТМЛ-код миниатюры на случай её отсутствия в посте.
- Сграббливание изображений включая те, которые выдаются не по прямым ссылкам вида "http://example.com/148594535414/resize/300x-1/quality/80/format/jpg" или "http://example.com/getimg.php?imgid=xxx".
- Оптимизация сграббленных изображений с помощью "jpegoptim" и "optipng".
- Обработка (изменение ширины/высоты, глубины цвета и т.п.) сграббленных изображений с помощью "convert" или "mogrify" из пакета ImageMagick. Не путать с PHP расширением "imagick"!!!
- MD5-хэширование имён изображений либо сохранение их оригинального имени.
- Наличие двух режимов работы 'test' и 'prod', в режиме 'test' создаются тестовые HTML файлы постов вместо вставки их в БД.
PHPost Grabber можно использовать для одновременного парсинга контента с нескольких сайтов. Сграббливание происходит в полностью автоматическом режиме без необходимости вмешательства пользователя.
Разумеется, что в некоторых случаях пользователю может потребоваться внести в уже сграббленый пост некоторые правки такие, как например изменить подсказку к изображению, разбить абзац текста на несколько если он кажется большим, откорректировать/дополнить оформление таблиц и т.д.
Каковы системные требования для PHPost Grabber?
Для полноценной работы PHPost Grabber-а потребуется:
- PHP: >=5.6.0 или выше + разрешение на выполнение функций
exec()
иsystem()
в случае если активирована оптимизация изображений; 128 МБ оперативной памяти. - CMS: Joomla! >=3.5.6
- Дополнительно: ImageMagick - если активировано "post_img_convert" и/или "post_img_mogrify". Не путать с PHP расширением "imagick"!!!
На данный момент граббер статей может автоматически наполнять контентом сайты созданные на движке CMS Joomla! >=3.5.6, но по просьбам трудящихся его можно будет "заточить" и под более ранние версии CMS Joomla!. Как выше отмечалось, граббер работает независимо от файлов какого-либо движка и все манипуляции (обработка/вставка/обновление/удаление) с контентом выполняет самостоятельно - всё зависит от структуры MySQL-таблиц той или иной версии CMS Joomla!.
В будущем может быть реализована поддержка других CMS движков, таких как Wordpress, MODX и т.д.
PHPost Grabber и безопасность
PHPost Grabber написан в соответствии с базовым стандартом написания PHP-кода PSR-1, все файловые операции выполняемые граббером подвергаются тщательной проверке, а логика приложения направлена на то, чтобы получить максимум эффективности используя минимум PHP-кода. PHP парсер может работать в условиях "open_basedir".
Несмотря на то, что при создании PHPost Grabber-а мы использовали некоторые PHP-пакеты с открытым исходным кодом весь основной функционал самого граббера реализован нами самостоятельно, а сторонние PHP-пакеты лишь несущественно его дополняют.
PHPost Grabber является коммерческим ПО и распространяется с закрытым исходным кодом потому, что мы как можем защищаем наш труд и своё право на нём зарабатывать себе на хлеб.
Однако, злые люди обладающие навыками взлома закрытого ПО могут попробовать взломать защиту PHP-кода, чем конечно же нарушат условия, так сказать лицензионного соглашения, при этом не получив полной картины из-за переименования всех функций, констант и переменных, а также полного отсутствия каких-либо комментариев к коду - но, то уже отдельная песня. Короче, кому нужен исходный код PHP граббера, берите и "ковыряйте" :)
Отметим, что по результатам проверки нашего граббера на VirusTotal (https://www.virustotal.com/) некоторые антивирусы могут ошибочно определять закрытые участки кода PHPost Grabber-а как вредоносное ПО, например (Показатель выявления: 2/55):
Антивирус | Результат | Дата обновления |
---|---|---|
ESET-NOD32 | PHP/Kryptik.AE | 20170410 |
Fortinet | PHP/Kryptik.AE!tr | 20170410 |
Однако, мы с полной уверенностью заявляем про полное отсутствие в нашем граббере любых умышленных уязвимостей или вредоносных участков кода, а ложное срабатывание некоторых антивирусов можем объяснить лишь их предвзятым отношением к использованию в защищённом PHP-коде комбинации PHP-функций "urldecode()
" и "eval()
" либо "eval(base64_decode(...))
".
Сколько стоит PHPost Grabber?
Базовая стоимость граббера без ограничения на временя его использования, имя домена или ИП-адрес сайта на котором будет работать парсер = 100 у.е.
В качестве бонуса к грабберу прилагаются бесплатная его установка и настройка, а также тех. поддержка в течении одного года начиная с дня его приобретения.
P.S. Грабь награбленное ;)