Работа FDE Grabber на сервере под управлением DirectAdmin
Если Вы владелец выделенного сервера (Dedicated Server) или пользователь виртуального выделенного сервера (VDS - Virtual Dedicated Server) или виртуального персонального сервера (VPS - Virtual Private Server) который работает под управлением панели DirectAdmin, то можете столкнуться с трудностью полноценного запуска системы FDE Grabber, так, как по умолчанию данная система добавляет PHP параметр open_basedir и safemode, в результате чего граббер не будет полноценно обходить редиректы при граббинге и/или сохранять полученные данные. Проблему можно решить зайдя в DirectAdmin-панель в качестве администратора (Admin Level)
Работа FDE Grabber на сервере под управлением DirectAdmin, читать далее...
Работа парсера FDE Grabber на сервере под управлением ISPmanager
Если Вы владелец выделенного сервера (Dedicated Server) или пользователь виртуального выделенного сервера (VDS - Virtual Dedicated Server) или виртуального персонального сервера (VPS - Virtual Private Server) который работает под управлением панели ISPmanager, то можете столкнуться с трудностью полноценного запуска системы FDE Grabber, так, как по умолчанию данная система добавляет домены и включает для них интерпретатор PHP как модуль web-сервера Apache. Проблема в том, что разработчики ISPmanager, при запуске интерпретатора PHP как модуля Apache добавляют PHP параметр open_basedir, в результате чего граббер не будет полноценно обходить редиректы при граббинге. Проблему можно решить в ISPmanager переключением запуска PHP как CGI. При этом, open_basedir будет отключён и система импорта новостей FDE Grabber будет работать полноценно.
Работа парсера FDE Grabber на сервере под управлением ISPmanager, читать далее...
Комфортный рерайт получаемых новостей
:-) В системе импорта новостей при настройке категории имеется возможность указать опцию: Модерация статей перед публикацией если выбрать "ДА", то получаемые статьи граббером будут складываться в Вашу CMS со статусом "требует модерации" и не будут появляться до тех пор на сайте, пока их не включить в админке CMS. При этом можно проводить качественный, причём довольно комфортный рерайт статьи, а потом лиш её публиковать.
Полный цикл настройки граббера
В данной статье мы постарались уместить полный цикл настройки граббера под импорт новостей с определённого сайта. Итак, допустим мы определились с тем, что хотим грабить с сайта https://warezed.ru/ Что мы должны сделать в самом начале? В начале мы должны перейти по одному из адресов полных статей, допустим: https://warezed.ru/news/12604-V_Katare_otkrylsya_21_iy_sammit_LAG.html
Грабим по полной
Для начала нам нужно себе уяснить что такое "пейджер" Пейджер происходит от английского слова page и означает нумерацию страниц в виде ссылок: back 1 2 3 … 100 forward Да - пейджер, это просто общее название разбиения на страницы большого списка новостей. Очевидно, что каждая страница пейджера является для граббера 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}/ Для задействованиея этой функции в парсере новостей FDE Grabber требуется вместо обычного адреса HTML списка новостей указать шаблон вида https://fdstar.com/page/{page}/ И указать диапазон значений, который будет принимать переменная {page}. Также можно указать как положительное приращение, так и отрицательное для переменной {page}. В случае положительного приращения обход будет идти так: 1 2 3 ... 100. Ну а в случае отрицательного: 100 99 98 ... 1
Подбираем хостинг
В случае, если Вы используете выделенный сервер (Dedicated Server) или виртуальный выделенный сервер (VDS - Virtual Dedicated Server или VPS - Virtual Private Server), то его можно настроить как угодно под себя, и проблем с запуском системы публикации новостей FDE Grabber быть не может. Но вот что делать, если Вы пока не готовы использовать выделенный или виртуальный сервер, но всё-же хотите полноценно работать с граббером? - для этого просто нужно подобрать подходящий виртуальный хостинг. Мы подготовили небольшой список хостинг-провайдеров, на которых была успешно испытана система парсинга новостей FDE Grabber: https://peterhost.ru/ https://agava.ru/ https://masterhost.ru/ данный список будет, со временем пополняться, и вы можете в этом нам помочь :-)
Полный автомат по крону
Что такое сron
cron — демон-планировщик задач в UNIX-образных операционных системах, использующийся для периодического выполнения заданий в заданное время. Подробнее о нём можно узнать здесь: https://ru.wikipedia.org/wiki/Cron У парсера новостей FDE Grabber имеется 4 этапа работы:
- кроновский скрипт путь_к_грабберу/crontab_feeds.php определяет один из доступных источников получения статей (RSS/Atom/HTML источник) и обновляет его. Если, при этом, имеются новые статьи (уникальность статьи определяется по названию), то статьи будут добавлены в качестве задания для получения По мере запуска данного кроновского скрипта, источники обновляются по кругу Каждому запуску скрипта соответствует одно обновление одного из доступных источников
- кроновский скрипт путь_к_грабберу/crontab_articles.php смотрит на задания для получения статей и получает статью. Одному запуску данного скрипта соответствует одно получение статьи
- кроновский скрипт путь_к_грабберу/crontab_downloads.php скачивает, если это необходимо, прикреплённый файл к полученной на 2 этапе статье.
- кроновский скрипт путь_к_грабберу/crontab_publicate.php публикует полученные статьи в вашу CMS
наиболее оптимальными режимами обновления кроновских скриптов системы наполнения сайтов FDE Grabber являются такие:
crontab_feeds.php - обновляем каждые 5 минут crontab_articles.php - обновляем каждые 2 минуты crontab_downloads.php - обновляем каждую минуту crontab_publicate.php - обновляем каждые 4 минуты
Перед тем, как добавлять задания для запуска кроновских скриптов, нам потребуется выяснить путь к PHP интерпретатору на сервере. Узнать этот путь можно несколькими способами:
- посмотреть расположение файлов на диске, скорее всего потребуются права администратора сервера
- пойти на поклон к хостеру и спросить :-)
- если имеется доступ через SSH - выполнить в командной строке: whereis php
- выполнить один из следующих скриптов:
<?php echo `whereis php`; ?>
<?php echo exec(’whereis php’); ?>
<?php echo system(’whereis php’); ?>
Предположим, что мы выяснили путь к PHP интерпретатору на нашем сервере, и он выглядит так: /usr/bin/phpТогда, задания для запуска скриптов будут выглядеть так:
*/5 * * * * /usr/bin/php путь_к_грабберу/crontab_feeds.php > /dev/null 2>&1
*/2 * * * * /usr/bin/php путь_к_грабберу/crontab_articles.php > /dev/null 2>&1
* * * * * /usr/bin/php путь_к_грабберу/crontab_downloads.php > /dev/null 2>&1
*/4 * * * * /usr/bin/php путь_к_грабберу/crontab_publicate.php > /dev/null 2>&1
где путь_к_грабберу- это полный путь к грабберу на сервере, например /var/www/grabber.ru/fde
Узнать полные пути к кроновским скриптам граббера можно в разделе граббера "ручной крон"
По большому счёту, кроновские скрипты парсера контента FDE Grabber можно запускать и не зная пути к интерпретатору, например в таком виде:
*/5 * * * * php -f путь_к_грабберу/crontab_feeds.php > /dev/null 2>&1
*/2 * * * * php -f путь_к_грабберу/crontab_articles.php > /dev/null 2>&1
* * * * * php -f путь_к_грабберу/crontab_downloads.php > /dev/null 2>&1
*/4 * * * * php -f путь_к_грабберу/crontab_publicate.php > /dev/null 2>&1
Кроме того, мы можем запускать кроновские срипты граббера и через утилиту wget. Пусть, например, URL граббера выглядит так: https://test.com/ - тогда запуск кроновских скриптов через wget по крону будет выглядеть следующим образом:
*/5 * * * * wget -O /dev/null -q https://test.com/crontab_feeds.php >/dev/null 2>&1
*/2 * * * * wget -O /dev/null -q https://test.com/crontab_articles.php >/dev/null 2>&1
* * * * * wget -O /dev/null -q https://test.com/crontab_downloads.php >/dev/null 2>&1
*/4 * * * * wget -O /dev/null -q https://test.com/crontab_publicate.php >/dev/null 2>&1
Crop image. Что за зверь
Кроппинг картинок - это просто обрезка картинок, не более. Но эта функция в парсере новостей FDE Grabber оказалась как нельзя кстати. Дело в том, что многие люди хотят получить из своего сайта некое подобие новостного портала. В новостных сайтах список кратких новостей обычно включает иллюстрации совершенно одинаковых размеров. Пример такого сайта: https://warezed.ru/ Мы видим, что все картинки обрезаны до определённого размера. Так вот, операция обрезки изображения называется кроппингом. И если вы тоже хотите задействовать в своём граббере эту функцию, то следуйте приведённым ниже инструкциям. Чтобы включить данную опцию в граббере, нужно перейти в раздел категорий и выбрать интересующую категорию. Среди настроек выбранной категории имеются: “” - разумеется нам придётся сохранять картинки на сервер, поэтому указываем “сохранять картинки на сервер” “Что делать с картинками больших размеров” - здесь есть, на самом деле, два варианта для кроппинга. Один из них: “Уменьшать, обрезая до заданных размеров и делать ссылку на большую картинку”, а другой: “Уменьшать физически картинку, обрезая до заданных размеров” Также, нам потребуется указать размеры под которые будет производиться обрезка: Максимальная ширина картинки и Максимальная высота картинки
Синонимизация, уникализация текста
Синонимайзер - программа осуществляющая замену слов во введенном тексте на синонимы, находящиеся в базе данных. А зачем он нужен? Синонимайзер, благодаря заменам слов, делает текст псевдоуникальным Хорошо, тогда зачем нужен уникальный контент? Неуникальный контент является причиной бана сайта поисковой службой. Если сайт полностью состоит из неуникального контента и имеет несколько страниц, рано или поздно сайт попадет в бан поисковых систем. При размещении уникального контента сайт чаще мелькает в результатах поиска поисковых систем, а следовательно посещаемость сайта, также растет. Мало того, контент сайта должен быть не только уникальным, но еще и интереным для людей. При размещении интересных материалов на сайте, вы получите естественные внешние сылки на сайт, в результате чего у сайта не только вырастут параметры, но и вырастут позиции в поисковых системах по тематике материалов.