Пример #1
0
            $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);