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. Грабуй награбоване ;)