Как написать свою библиотеку?
Файл библиотеки должен иметь расширение php и иметь такое же название как и название директории в которой он находится. В директории modules/control/userlib/ необходимо создать папку с названием библиотеки и залить в нее файл библиотеки.
Образец подключаемой библиотеки.
<?php /* * Название функции должно начинаться со слова parse потом добавляться название файла функции (parserfilename) * Получаемых параметров в функции 5 * $url — адрес сайта * $login — логин для доступа к акаунту, если при создании библиотеки было выбрано «акаунт» и в настройках сайта введен логин * $pass — пароль для доступа к акаунту, если при создании библиотеки было выбрано «акаунт“ и в настройках сайта введен пароль * $proxy — список прокси серверов. Если в настройках модуля поле прокси пустое, то будут передаваться локальные прокси из поля дополнительные серверы * $type — тип используемых прокси (локальные $type=1 или внешние $type=2). */
function parseyandex ($url,$login,$pass,$proxy,$type){ $str = ““; $url=mirrorYa ($url); /* Если $type=1 преобразуем список прокси в массив через запятую */ if ($type == 1) {$proxy=explode (“,“,$proxy);shuffle ($proxy);} /* Если $type=2 преобразуем список прокси в массив через \n */ if ($type == 2) $proxy=explode (“\n“,$proxy); /* Если список прокси пуст, то делаем return -1, чтоб в панеле отобразилось error*/ if (empty ($proxy)) return -1; /* Создаем цикл с 5-ю попытками подключения*/ for ($i=0;$i<5;){ /* Получаем первый ip из прокси */ $prx = array_shift ($proxy);$proxy[]=$prx; /* Инициализируем CURL */ $ch = curl_init (); /* Указываем откуда нужно брать контент */ curl_setopt ($ch, CURLOPT_URL, 'http://yandex.ru/yandsearch?text=rhost%3A'.$url.'%20|%20rhost%3A'.$url.'.*&lr=225'); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_TIMEOUT, 20); /* Если $type=2, то используем CURLOPT_PROXY */ if ($type == 2) curl_setopt ($ch, CURLOPT_PROXY, $prx); /* Если $type=1, то используем CURLOPT_INTERFACE */ if ($type == 1) curl_setopt ($ch, CURLOPT_INTERFACE, $prx); /* Сохраняем результат в переменную */ $str = curl_exec ($ch); curl_close ($ch); /* Если получили пустой результат, то пытаемся сделать тоже самое, но с другого ip */ if (empty ($str)) $i++; else{ /* Если результат не пустой, но содержит информацию о редиректе (captca), то пытаемся сделать тоже самое, но с другого ip */ if (stristr ($str,“The document has moved“)) $i++; else break; } } /* Если цикл завершен, то переходим к обработке $str*/ if ($str == ““){ /* Если $str пуста, то возвращаем -1 (error) */ $iny=-1; }elseif (stristr ($str,“The document has moved“)){ /* Если в $str есть упоминание о редиректе, то возвращаем -2 (captcha) */ $iny=-2; }else{ /* Обрабатываем переменную, ищем в ней нужный элемент */ $find=preg_match (“/<strong class=\“l\“> (.+?)<br> (.+?) (.+?)<\/strong>/is», $str, $iny);
/* Если ничего не найдено, то возвращаем 0 */ if ($find<1){ $iny=0; }else{ /* Если найдено, то преобразуем к нормальному виду и возвращаем результат */ $dec=''; if (stristr ($iny[3],'тыс')){ $dec='000'; } if (stristr ($iny[3],'млн')){ $dec='000000'; } $iny=$iny[2].$dec; } } return $iny; } ?>
|
У вас есть свой сео-блог?
У нас есть партнерское предложение для владельцев сео-блогов. Вы можете получать 10% от продаж! Для этого вам нужно зарегистрироваться, получить свою партнерскую ссылку и разместить ее на своем блоге. подробнее →
|