$Parser->items = array(); $Parser->pageContent = ""; StateUtils::save(PARSERSTATE_FILE, $Parser); } else { print "No more pages.\n"; $Rubrics->setLoaded($Parser->id, true, $Parser->processId); //$Rubrics->freeRubric($Parser->id); } //$Parser->_IContentGrabber(); } } if (StateUtils::isBusy(BUSYSTAT_FILE)) { print "Is busy\n"; exit; } StateUtils::setBusy(BUSYSTAT_FILE); register_shutdown_function("onShutdown"); $ProxyService = new ProxiesService(); $Rubrics =& new RubricsData(); // Восстановить состояние - если было сохранено $Parser = StateUtils::load(PARSERSTATE_FILE); if ($Parser == null) { print "Use new.\n"; $res = $ProxyService->getRandomProxyData(); //print_r($res); $nextRubric = $Rubrics->getRubric(); if (PEAR::isError($nextRubric)) { print $nextRubric->getMessage(); exit; } if (!isset($nextRubric)) {
require_once "ProxiesService.php"; require_once "UrlUtils.php"; require_once "StateUtils.php"; require_once "FileUtils.php"; define("CALC_REALNUMS_STAT", "data/calcRealNumsStat.dat"); define("CALC_START_ID", StateUtils::getStateFileName("data/startId.dat")); function onShutdown() { StateUtils::resetBusy(CALC_REALNUMS_STAT); } set_time_limit(0); if (StateUtils::isBusy(CALC_REALNUMS_STAT)) { print "Is busy\n"; exit; } StateUtils::setBusy(CALC_REALNUMS_STAT); register_shutdown_function("onShutdown"); // ƒл¤ YellowPagesContentGrabber запускать скрипт без параметров или 0 0 // ƒл¤ YellowPages1ContentGrabber запускать скрипт c параметрами 1 1 $parserId = StateUtils::getProcessNum() + 1; if ($parserId == 1) { $Parser =& new YellowPagesContentGrabber(); } else { $Parser =& new YellowPages1ContentGrabber(); } $Parser->showInfo = false; $Parser->waitBeforeRequest = 3; $rubrics =& new RubricsData(); $Parser->rubricsData =& $rubrics; $ProxyService = new ProxiesService(); $start = (int) FileUtils::loadContents(CALC_START_ID);
function onShutdown() { global $parser; StateUtils::resetBusy(BUSY_FILENAME); // Проверка наличия новых ссылок на страницы if ($parser->hasUrls()) { $parser->items = array(); $parser->pageContent = ""; StateUtils::save(STATE_FILENAME, $parser); } } if (StateUtils::isBusy(BUSY_FILENAME)) { print "Is busy\n"; exit; } StateUtils::setBusy(BUSY_FILENAME); register_shutdown_function("onShutdown"); $baseUrl = "http://direct.yandex.ru/stat/wordsstat.pl"; // указываем имя сервиса и ip-сервера откуда скрипт запускается $proxyService = new ProxiesService("yandex", "194.186.45.242"); $res = $proxyService->getProxyData(); if (PEAR::isError($res)) { print $res->getMessage(); exit; } $queries = null; $parser = StateUtils::load(STATE_FILENAME); var_dump($parser); if ($parser == null) { // Получить запрос $queries = $db->getAll(CMD_SEL_QUERIES, array(), DB_FETCHMODE_ASSOC);