Обновить parse/collect_promo_links.js

This commit is contained in:
dimaromsa 2026-04-07 18:22:34 +03:00
parent 740380d9f3
commit 4259646085

View File

@ -13,63 +13,86 @@
// ==/UserScript== // ==/UserScript==
(function() { (function() {
'use strict'; 'use strict';
// === НАСТРОЙКИ ===
const QUERIES = [ const QUERIES = [
'купить Great Wall в Краснодаре',
'купить BYD в Краснодаре', 'купить Belgee в Нижнем Новгороде',
'купить SAIC в Краснодаре', 'купить бу Belgee в Нижнем Новгороде',
'купить BAIC в Краснодаре', 'купить в Нижнем Новгороде бу Belgee ',
'купить Lifan в Краснодаре', 'купить в Нижнем Новгороде Belgee ',
'купить Zotye в Краснодаре',
'купить Brilliance в Краснодаре', 'купить Haval в Нижнем Новгороде',
'купить Hongqi в Краснодаре', 'купить бу Haval в Нижнем Новгороде',
'купить Tank в Краснодаре', 'купить в Нижнем Новгороде бу Haval ',
'купить Lynk & Co в Краснодаре', 'купить в Нижнем Новгороде Haval ',
'купить Zeekr в Краснодаре',
'купить Nio в Краснодаре', 'купить Chery в Нижнем Новгороде',
'купить Xpeng в Краснодаре', 'купить бу Chery в Нижнем Новгороде',
'купить Li Auto в Краснодаре', 'купить в Нижнем Новгороде бу Chery ',
'купить Seres в Краснодаре', 'купить в Нижнем Новгороде Chery ',
'купить Aion в Краснодаре',
'купить Forthing в Краснодаре', 'купить Geely в Нижнем Новгороде',
'купить Dayun в Краснодаре', 'купить бу Geely в Нижнем Новгороде',
'купить авто с пробегом в Краснодаре', 'купить в Нижнем Новгороде бу Geely ',
'купить б/у автомобиль в Краснодаре', 'купить в Нижнем Новгороде Geely ',
'подержанные машины в Краснодаре',
'автосалоны с пробегом в Краснодаре', 'купить Changan в Нижнем Новгороде',
'купить подержанный авто в Краснодаре', 'купить бу Changan в Нижнем Новгороде',
'б/у Haval в Краснодаре', 'купить в Нижнем Новгороде бу Changan ',
'б/у Chery в Краснодаре', 'купить в Нижнем Новгороде Changan ',
'б/у Geely в Краснодаре',
'б/у Changan в Краснодаре', 'купить Exeed в Нижнем Новгороде',
'б/у Exeed в Краснодаре', 'купить бу Exeed в Нижнем Новгороде',
'б/у Jetour в Краснодаре', 'купить в Нижнем Новгороде бу Exeed ',
'б/у GAC в Краснодаре', 'купить в Нижнем Новгороде Exeed ',
'б/у Jaecoo в Краснодаре',
'б/у FAW в Краснодаре', 'купить Omoda в Нижнем Новгороде',
'б/у DongFeng в Краснодаре', 'купить бу Omoda в Нижнем Новгороде',
'б/у JAC в Краснодаре', 'купить в Нижнем Новгороде бу Omoda ',
'б/у Kaiyi в Краснодаре', 'купить в Нижнем Новгороде Omoda ',
'б/у BAIC в Краснодаре',
'б/у Lifan в Краснодаре', 'купить Jaecoo в Нижнем Новгороде',
'б/у Hongqi в Краснодаре', 'купить бу Jaecoo в Нижнем Новгороде',
'б/у Tank в Краснодаре', 'купить в Нижнем Новгороде бу Jaecoo ',
'б/у Nio в Краснодаре', 'купить в Нижнем Новгороде Jaecoo ',
'б/у Xpeng в Краснодаре',
'автосалоны подержанных авто в Краснодаре', 'купить Tank в Нижнем Новгороде',
'купить машину с пробегом от дилера в Краснодаре', 'купить бу Tank в Нижнем Новгороде',
'trade-in авто в Краснодаре', 'купить в Нижнем Новгороде бу Tank ',
'обмен авто с пробегом в Краснодаре', 'купить в Нижнем Новгороде Tank ',
'сертифицированные б/у автомобили в Краснодаре'
'купить Jetour в Нижнем Новгороде',
'купить бу Jetour в Нижнем Новгороде',
'купить в Нижнем Новгороде бу Jetour ',
'купить в Нижнем Новгороде Jetour ',
'купить Forthing в Нижнем Новгороде',
'купить бу Forthing в Нижнем Новгороде',
'купить в Нижнем Новгороде бу Forthing ',
'купить в Нижнем Новгороде Forthing ',
'купить BAIC в Нижнем Новгороде',
'купить бу BAIC в Нижнем Новгороде',
'купить в Нижнем Новгороде бу BAIC ',
'купить в Нижнем Новгороде BAIC ',
'купить Dongfeng в Нижнем Новгороде',
'купить бу Dongfeng в Нижнем Новгороде',
'купить в Нижнем Новгороде бу Dongfeng ',
'купить в Нижнем Новгороде Dongfeng ',
'купить Hongqi в Нижнем Новгороде',
'купить бу Hongqi в Нижнем Новгороде',
'купить в Нижнем Новгороде бу Hongqi ',
'купить в Нижнем Новгороде Hongqi ',
]; ];
const MAX_PAGES_PER_QUERY = 3;// Макс. страниц на запрос const MAX_PAGES_PER_QUERY = 3;
const PAGE_DELAY_MS = 500;// Задержка между страницами const PAGE_DELAY_MS = 500;
const QUERY_DELAY_MS = 1000;// Задержка между запросами (чтобы не блочить) const QUERY_DELAY_MS = 1000;
// =================
var allLinks = []; var allLinks = [];
var uniqueLinks = new Set(); var uniqueLinks = new Set();
var baseUrl = window.location.origin; var baseUrl = window.location.origin;
// === ФУНКЦИИ ===
function cleanUrl(url) { function cleanUrl(url) {
try { try {
var urlObj = new URL(url); var urlObj = new URL(url);
@ -137,7 +160,6 @@
} }
return queryLinks.length; return queryLinks.length;
} }
// === TAMPERMONKEY-ОБЁРТКИ ===
function gmFetch(url) { function gmFetch(url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
GM_xmlhttpRequest({ GM_xmlhttpRequest({
@ -180,7 +202,7 @@
} }
}); });
} }
// === ЗАПУСК ===
console.log(`🚀 Запуск сбора промо ссылок для ${QUERIES.length} запросов (макс. страниц на запрос: ${MAX_PAGES_PER_QUERY})...`); console.log(`🚀 Запуск сбора промо ссылок для ${QUERIES.length} запросов (макс. страниц на запрос: ${MAX_PAGES_PER_QUERY})...`);
(async function run() { (async function run() {
var totalLinks = 0; var totalLinks = 0;
@ -188,7 +210,7 @@
if (i > 0) await new Promise(r => setTimeout(r, QUERY_DELAY_MS)); if (i > 0) await new Promise(r => setTimeout(r, QUERY_DELAY_MS));
totalLinks += await processQuery(QUERIES[i]); totalLinks += await processQuery(QUERIES[i]);
} }
// === ФИНАЛЬНЫЙ ВЫВОД ===
console.log('\n' + '='.repeat(50)); console.log('\n' + '='.repeat(50));
console.log(`✅ СБОР ЗАВЕРШЁН`); console.log(`✅ СБОР ЗАВЕРШЁН`);
console.log(`📄 Запросов обработано: ${QUERIES.length}`); console.log(`📄 Запросов обработано: ${QUERIES.length}`);