Файловый менеджер

scripts//prodvigenie_04_2026//1&1

/scripts//prodvigenie_04_2026//1&1
На уровень выше

с поиска Яндекс.php

<?php

$xhe_host = "127.0.0.1:7011";

// ///////////////   ru XWeb Human Emulator   ///////////////  
require("../../../Templates/init.php");

// Только необходимые функции
function removePrefixes($url)
{
    $pattern = "/^(http:\/\/|https:\/\/|www\.)/i";
    while (preg_match($pattern, $url)) {
        $url = preg_replace($pattern, "", $url);
    }
    return $url;
}

function extractDomainPattern()
{
    return '/(?:https?:\/\/)?(?:www\.)?([а-яА-Яa-zA-Z0-9.-]+)\.(?:[а-яА-Яa-zA-Z]{2,6})/';
}

// Инициализация
$browser->close_all_tabs();
usleep(500);
$browser->navigate("about:blank"); // Первая вкладка
echo $eror = "Сайта нет в выдаче <br>";

$pattern = extractDomainPattern();
$pr_s = 'ipgroup.by'; // Продвигаемый сайт
$region_search = 'гомель';
$sys_search = 'yandex.by';

// Исключаемые сайты
$no_sites1 = "rosseti.ru uslugi.yandex.ru uslugi.yandex.by yandex.ru yandex.by ozon.by";
$no_sites = strtolower($pr_s . " " . $no_sites1);
$no_sites = preg_split("/[\s,]+/", $no_sites);

$no_open = [];
foreach ($no_sites as $site) {
    if (preg_match($pattern, $site, $matches)) {
        $no_open[] = removePrefixes($matches[0]);
    }
}

// Чтение запросов из файла
$wordArray = file('text.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

if (!empty($wordArray)) {
    $random_string = $wordArray[array_rand($wordArray)];
    echo $random_string;
} else {
    die("File is empty or could not be read.");
}

// Разбиваем строку по запятой
$words = explode(',', $random_string);

$special_regions = [
    "россия", "оренбургская область", "ростовская область",
    "ярославская область", "тульская область"
];

$region_search_0 = in_array($region_search, $special_regions, true) ? ["минск"] : [$region_search];

$findtext = trim($words[0]);
$sinonim = trim($words[1]);

// Открыть страницу поиска вторая вкладка
$browser->add_tab();
$browser->navigate($sys_search . "/search/", true, true);
$browser->wait(0);

// Проверка и установка региона
$isgeo = $webpage->get_body_inter_prefix_all('type_geo"><button', '</span></button></div>', true);
$pos = strrpos($isgeo, '>');
$isgeo = $pos !== false ? mb_strtolower(trim(substr($isgeo, $pos + 1))) : '';

echo $isgeo . " == " . $region_search_0[0] . "<br>";

if ($isgeo != $region_search_0[0]) {
    $mouse->click_to_screen(203, 683); // регион
    usleep(50000);
    
    // Вставка региона
    $browser->wait(0);
    sleep(2);
    $div->click_by_inner_html("Местоположение", false);
    sleep(2);
    $mouse->click_to_screen(658, 76); // адресная строка
    sleep(1);
    $clipboard->put_text($region_search_0[0]);
    $mouse->click_to_screen(1055, 216);
    sleep(1);
    $mouse->click_to_screen(1255, 216);
    sleep(2);
    
    $keyboard->input($region_search_0[0], 10);
    print_r($region_search_0);
    usleep(1250000);
    $mouse->click_to_screen(1050, 216);
    sleep(1);
    $mouse->click_to_screen(1050, 280);
    sleep(1);
    
    // Вставить Ctrl+V
    $keyboard->set_ctrl_prefix(true);
    $keyboard->key(86);
    $keyboard->set_ctrl_prefix(false);
    usleep(1000);
    usleep(1000);
    
    $btn->click_by_inner_text("Сохранить", false);
    $mouse->move_on_screen(23, 67);
    sleep(1);
    $app->pause(1500);
}

// Поиск по синониму
$mouse->click_to_screen(1489, 70);
sleep(2);
$input->send_keyboard_input_by_name("text", $sinonim . " ", "20:40");
$mouse->click_to_screen(458, 125);
usleep(500000);
$keyboard->key(13);
sleep(1);
  // Плавная прокрутка вместо резких PageDown/End
    for ($scrollStep = 0; $scrollStep < 20; $scrollStep++) {
        $keyboard->key(34); // Next (мягкая прокрутка)
        usleep(50000); // 50ms между шагами
    } 
sleep(1);
$mouse->click_to_screen(1489, 70);
usleep(5000);
$keyboard->key(39);
usleep(1500000);
sleep(1);

// Копировать активное окно Ctrl+F5
$mouse->click_to_screen(554, 823); // копировать    
usleep(1000);
usleep(1000);

// Очистка и поиск по основному запросу
$mouse->click_to_screen(1489, 70);
usleep(5000);
$mouse->click_to_screen(460, 121);
usleep(5000);
$textarea->set_value_by_number(0, "");
sleep(2);
$input->send_keyboard_input_by_name("text", $findtext, "20:40");
sleep(1);
$keyboard->key(13);
usleep(2000);
  // Плавная прокрутка вместо резких PageDown/End
    for ($scrollStep = 0; $scrollStep < 20; $scrollStep++) {
        $keyboard->key(34); // Next (мягкая прокрутка)
        usleep(50000); // 50ms между шагами
    } 
sleep(1);

// Сбор результатов
$sites = $webpage->get_body_inter_prefix_all('<li', '</li>', true);
$sites = explode("<br>", $sites);

$full = [];
foreach ($sites as $site) {
    if (preg_match($pattern, $site, $matches)) {
        $full[] = removePrefixes(strtolower($matches[0]));
    }
}

$final_result = array_values(array_unique(array_diff($full, $no_open)));

echo "<br>Можно открывать сайты ";
print_r($final_result);
echo "<br>Не открывать сайты ";
print_r($no_open);

// Открытие случайных двух сайтов
for ($random_s = 0; $random_s < min(2, count($final_result)); $random_s++) {
    $num = $b->get_number_by_inner_text($final_result[$random_s], true);
    if ($num === false) continue;
    
    sleep(1);
    $b->set_focus_by_number($num);
    sleep(1);
    
    $wy = $browser->get_vertical_scroll_pos() - 150;
    $browser->set_vertical_scroll_pos($wy);
    sleep(1);
    
    $xn = $b->get_x_by_number($num);
    $yn = $b->get_y_by_number($num);
    
    $mouse->move($xn + 1, $yn + 1);
    $mouse->click();
    sleep(2);
    $browser->wait($num = -1);
    $browser->set_active_browser(2);
    sleep(2);
    
    // Копировать активное окно Ctrl+F5
    $mouse->click_to_screen(554, 823); // копировать    
    usleep(1000);
    usleep(1000);
    
    if ($browser->get_active_browser() == 2) {
        $browser->close();
        sleep(2);
        $browser->set_active_browser(1);
    }
}

// Поиск продвигаемого сайта
require_once("yandex search.php");
sleep(3);

// Навигация по целевому сайту
$x = $span->get_y_by_inner_text($pr_s, false) + 1;
$y = $span->get_x_by_inner_text($pr_s, false) + 1;
$mouse->move($x, $y);
sleep(3);
$span->click_by_inner_text($pr_s, false);
sleep(3);
if (file_exists("work_with_site.php")) {
    require_once("work_with_site.php");
} else {
    echo "Файл work_with_site.php не найден\n";
}

$browser->close_all_tabs();
$app->quit();

?>
Кодировка: UTF-8 Символов: 7,906 Строк: 235