scripts//prodvigenie_04_2026//1&1
/scripts//prodvigenie_04_2026//1&1
Содержимое папки
📁 Папок: 0 | 📄 Файлов: 7
с поиска Яндекс.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();
?>