Подготовка
Вам, как и в случае с записью радио на роутер, понадобится USB флешка чтоб не изнашивать память роутера. Если у вас есть CHR, можно без флешки, но с папкой usb1 . На флешку мы будем записывать файл usb1/avitoFile.html с кодом страницы товара и искать в нём цену. Страницы авито огромные и fetch не может их сохранить в переменную, поэтому и файл, поэтому и флешка.
Ссылки на товар(ы) кладём в файл usb1/avitoLinks.txt в формате JSON, например
Скрытый текст
{ "https://m.avito.ru/domodedovo/planshety_i_elektronnye_knigi/wi-fi_poytep_tp-link_tl-mr100_8136918215": "0", "https://m.avito.ru/kaluga/planshety_i_elektronnye_knigi/wifi_router_4g_tp-link_tl-mr100_7943985384": "0", "https://m.avito.ru/kashira/planshety_i_elektronnye_knigi/4g_modem_megafon_150_4-2_sht_8130628313": "0", "https://m.avito.ru/moskva/tovary_dlya_kompyutera/huawei_b636-336_cat13_lte_router_wi-fi6_4455711575": "0", "https://m.avito.ru/moskva/planshety_i_elektronnye_knigi/ulichnyy_lte_modemusilitel_s_2_sim_7976167204": "0", "https://m.avito.ru/moskva/tovary_dlya_kompyutera/server_hp_dl360_gen10_8sff_2x_gold_6248_64gb_7615559591": "0", "https://m.avito.ru/naro-fominsk/planshety_i_elektronnye_knigi/4g_modem_cpe_7527080477": "0", "https://m.avito.ru/novorossiysk/planshety_i_elektronnye_knigi/4g_wi_fi_router_yota_8099090088": "0", "https://m.avito.ru/omsk/ohota_i_rybalka/cherv_navoznyy_8036701261": "0", "https://m.avito.ru/sankt-peterburg/planshety_i_elektronnye_knigi/bezlimitnyy_internet_4g5g_esim_8057371482": "0", "https://m.avito.ru/sankt-peterburg/planshety_i_elektronnye_knigi/tochka_dostupa_wifi_unifi_u6-pro_8136891844": "0", "https://m.avito.ru/sankt-peterburg/planshety_i_elektronnye_knigi/ulichnyy_4g_router._ir100_street_pro_7852906111": "0", "https://m.avito.ru/sankt-peterburg/tovary_dlya_kompyutera/wi-fi_router_huawei_b636-336_3g4g_8077172205": "0", "https://m.avito.ru/tyumen/planshety_i_elektronnye_knigi/router_huawei_b636-336_8085965024": "0" }
Ссылки должны быть мобильные https://m.avito.ru , а не десктопные https://www.avito.ru и заканчиваться на id объявления. Ноль после ссылки это цена, можете оставить его или указать реальную текущую. Сам файл тоже кладём в нашу флешку (папку) usb1
Скрипт: avitoFromFileParser 7.13.2+
Скрытый текст
:local jsonAvitoLinks "usb1/avitoLinks.txt" :local maxChunk 32768 :local fileContent ([file read file=$jsonAvitoLinks chunk-size=$maxChunk offset=0 as-value]->"data") :local avitoLinks [:deserialize $fileContent from=json] :if ([:typeof $avitoLinks] = "array") do={ :local mailTo "ваша@почта.ru" :local mailSubject "Avito price PARSER" :local botToken "ваш_токен:в_телеграм" :local userId "ваш_id_в_телеграм" :local htmlFile "usb1/avitoFile.html" :local marker "itemProp=\"price\" content=\"" :local isChanged false :local rndTens "01" :local rndUnits "0123456789" :local cookie "Cookie: u=8xa9ax9a.xxxx9x.9x9xxxxxxxxx9; _ym_uid=9999999999999999999; _ga=GA1.1.999999999.9999999999; ma_cid=9999999999999999999; buyer_laas_location=999999; adrcid=Xxx9x9XxxxxxXxxx9XxxXxx; _ga_WW6Q1STJ8M=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; srv_id=Xx1_xXxxXxx11xxx.1xXxx1_111Xxx-Xx1xx1x11XXxxXxxXxXxxXxxXx9XXxx1XXxX11x9xxXFxxxx=.xX1xXXxx_XXxxxxXx1X9xXXxxXxxX1xx11mXXX-xXX=.web; ma_id=9999999999999999999999; tmr_lvid=x9xx9999x9a99x9900999999x999xxxx; tmr_lvidTS=1111111111111; acs_3=%7B%22hash%22%3A%229aa9f9999ee9c9990cb94fc902d4143056487c0d%22%2C%22nst%22%3A1111111111111%2C%22sl%22%3A%7B%22111%22%3A1111111111111%2C%221111%22%3A1111111111111%7D%7D; buyer_location_id=999999; _ga_9NLSMYFRV5=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; __zzatw-avito=XXX1xXX=Xx1+xX==; auth=1; uxs_uid=x9999999-9xx9-99e9-9b9b-9f9e9b99999b; _ym_d=1111111111; gMltIuegZN2COuSe=XXXXXxx99xxx11xxXxxXxxxx1V9xxxxN; selected_locale=ru-RU; _mlocation=999999; _mlocation_mode=default; __zzatw-avito=XXX1xXX=Xx1+xX==; cfidsw-avito=X1XXxxxxXXx1/X1+1xXxXXXXxXXxXXXXX1Xf11XXxxXxx11XX1fXz+Xxxxx1XxxX1U1xxxXxXxxx11xxXxx11xxx1XXeU1+1XXnHxxXxX1X4LxxXx11XXXXX1xxXMoXxXX1viXbXx1ATXxx1dAcF111nSt+1PBFxx==; cfidsw-avito=xXxxxE1uNXx+xx+Xv/nxXxxWdKdFBZ1U/fXxx91n9yWuvGM11r9fxfgBwLV+zlBRSI+GkUWMfrCgOtgvHEJKode3p7w1ANyliEi8hjjsKSlr8luQufn/sI11/s1dTAwQVfx7z1NgNbHS8jvtN5RWVWpOucFJQnMx+VbKA==; cfidsw-avito=xZ1RMMIqm99f7g7585781fae5f646f6099wH6mEbtOjavJ93abIPxKUUhg/6A/c2YulKD961FQaNjCTNP+8qvD8qgOWUdik7n2uWqTYVk3h/uANfRtHD2mxs6pYz5j2fJZLPjGcnJFJq3x5WtuNSDjAbqDxQtG4tCW6Hjrg==; _gcl_au=1.1.999999999.1111111111; sessid=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjExMTExMTExMTEsImlhdCI6MTExMTExMTExMSwidSI6OTk5OTk5OSwicCI6OTk5OTk5OSwicyI6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExLjExMTExMTExMTEiLCJoIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFfMTExMTExMTExMSIsImQiOiIyeDExeGZneC51eGhnMXkuMXgxeGVxdmlyZ3cwMCIsInBsIjoiZGVza3RvcCIsImV4dHJhIjpudWxsfQ.XXXXXXXXX_tIxaN2asx9C1Uq64kEZrJABUES34dhT7585781fae5f646f6099c7rgh4MwCfxtLyAkkW8KB4It3mrtgiw; rt=x1xxx1191111xx1x9fe111bd111d99xx; luri=xxxxxxx; sx=H4sIAAAAAAAC%2F1TMzUrDQBAH8HeZcw%2B7O7M7Sa7iBwqCIlSP85%2FZgGhFL4G05N0FoUhf4Hei6hUyFM%2FMJojCrFHm1OFZFJ5oOtFCE32ZpiXSLId9OTzJK%2B2o05RVR85paG3bUePBXJkjK9oo6AHmuUjp4mioZ%2Br4%2BLym4%2Fvnet3Wuze%2F%2FacK1%2FRHxagZOmvngNgAHtktZ5WKMDM%2BU3aj7X7%2F8rAA31c%2FH7ikStu23wAAAP%2F%2FMAvKDuIAAAA%3D; _ym_isad=1; v=1111111111; f=1.1111xxxx1111999xx11xxx1x19e1e99847e1eada7172e06c47e1eada7172e06c47e1eada7172e06c47e1eada7172e06cb59320d6eb6303c1b59320d6eb6303c1b59320d6eb6303c147e1eada7172e06c8a38e2c5b3e08b898a38e2c5b3e08b890df103df0c26013a7b07585781fae5f646f609935a0ac0df103df0c26013a0df103df0c26013a0a983f6e93802b5f68e2978c700f15b6c5033da27bc46070ab133e8e9e2fb30c55dea7d86f77f81946b8ae4e81acb9fad99271d186dc1cd087829363e2d856a246b8ae4e81acb9fa143114829cf7585781fae5f646f609950b96489ab264edf88859c11ff00895f88859c11ff00895f88859c11ff00895e2415097439d40471a2a574992f83a9213974252838f5be48b9480d83b9d7585781fae5f646f60992e2e76f6dcd997df589963b30427303d7585781fae5f646f609912c504099f344a6085fcea7585781fae5f646f60996300fbf995d5a513f0c77052689da50d0df17585781fae5f646f6099013a9285b7f36ba87585781fae5f646f6099bc04e49e4b4a28b03de19da9ed218fe23de19da9ed218fe237d68db16d801d05f33988f0fa8a7585781fae5f646f6099" :log warning "СТАРТ ОБХОДА ССЫЛОК ИЗ JSON-ФАЙЛА" :foreach avitoUrl,oldPrice in=$avitoLinks do={ :log info "Из файла считана ссылка: $avitoUrl" :log info "Старая цена из файла: $oldPrice руб." :local success false :local attempt 0 :while (($success = false) and ($attempt < 2)) do={ :do { /tool fetch url=$avitoUrl http-header-field="$cookie" dst-path=$htmlFile :delay 10 :local fileSize [/file get $htmlFile size] :local currentPrice "" :local priceFound false :local loopOffset 0 :while (($priceFound = false) and ($loopOffset < $fileSize)) do={ :local bytesLeft ($fileSize - $loopOffset) :local currentChunkSize $maxChunk :if ($bytesLeft < $maxChunk) do={ :set currentChunkSize $bytesLeft } :local htmlChunk ([file read file=$htmlFile chunk-size=$currentChunkSize offset=$loopOffset as-value]->"data") :local markerPos [:find $htmlChunk $marker] :if ([:len $markerPos] > 0) do={ :local priceStart ($markerPos + 26) :local priceWithTail [:pick $htmlChunk $priceStart [:len $htmlChunk]] :local endQuotePos [:find $priceWithTail "\""] :if ([:len $endQuotePos] > 0) do={ :set currentPrice [:pick $priceWithTail 0 $endQuotePos] :set priceFound true } } :if ($priceFound = false) do={ :if (($currentChunkSize < $maxChunk) || (($loopOffset + $currentChunkSize) = $fileSize)) do={ :set loopOffset $fileSize } else={ :set loopOffset ($loopOffset + $currentChunkSize - 50) } } } :if ($priceFound = true) do={ :if ($currentPrice != $oldPrice) do={ :local msg "" :local msgMail "" :if ($oldPrice = "0") do={ :set msg ("Текущая+цена+товара:+" . $currentPrice . "+руб.%0A" . $avitoUrl) :set msgMail ("Текущая цена товара: " . $currentPrice . " руб.\r\n" . $avitoUrl) } else={ :set msg ("📢+ВНИМАНИЕ!+Изменилась+цена!%0AСтарая+цена:+" . $oldPrice . "+руб.%0A+Новая+цена:+" . $currentPrice . "+руб.%0A" . $avitoUrl) :set msgMail ("📢 ВНИМАНИЕ! Изменилась цена!\r\nСтарая цена: " . $oldPrice . " руб.\r\nНовая цена: " . $currentPrice . " руб.\r\n" . $avitoUrl) } /tool fetch url="https://api.telegram.org/bot$botToken/sendMessage\?chat_id=$userId&text=$msg" keep-result=no /tool e-mail send to=$mailTo subject=$mailSubject body=$msgMail :set isChanged true :set ($avitoLinks->$avitoUrl) $currentPrice } else={ :log info "Цена не изменилась. Ждем следующей проверки." } } else={ :log error "Маркер цены не найден. Проверь смещение offset или куки." :local errorMsg ("Не+найдено+цены+для+товара.%0A" . $avitoUrl . "%0AЕсли+сообщение+будет+повторяться,+проверьте+ссылку+или+остановите+отслеживание+цены.") :local errorMsgMail ("Не найдено цены для товара.\r\n" . $avitoUrl . "\r\nЕсли сообщение будет повторяться, проверьте ссылку или остановите отслеживание цены.") /tool fetch url="https://api.telegram.org/bot$botToken/sendMessage\?chat_id=$userId&text=$errorMsg" keep-result=no /tool e-mail send to=$mailTo subject=$mailSubject body=$errorMsgMail } :set success true } on-error={ :set attempt ($attempt + 1) :if ($attempt = 2) do={ :local errorMsg ("Сетевая+ошибка+при+запросе+цены+для+товара.%0A" . $avitoUrl . "%0AЕсли+сообщение+будет+повторяться,+проверьте+ссылку+и+куки+или+остановите+отслеживание.") :local errorMsgMail ("Сетевая ошибка при запросе цены для товара.\r\n" . $avitoUrl . "\r\nЕсли сообщение будет повторяться, проверьте ссылку и куки или остановите отслеживание.") /tool fetch url="https://api.telegram.org/bot$botToken/sendMessage\?chat_id=$userId&text=$errorMsg" keep-result=no /tool e-mail send to=$mailTo subject=$mailSubject body=$errorMsgMail } } :delay (50 + ([:rndstr length=1 from=$rndTens] . [:rndstr length=1 from=$rndUnits])) } } :if ($isChanged = true) do={ :log warning "Обнаружены изменения цен. Записываем обновления в JSON-файл" :local customJson "{\n" :local isFirst true :foreach avitoUrl,currentPrice in=$avitoLinks do={ :if ($isFirst = false) do={ :set customJson ($customJson . ",\n") } :set customJson ($customJson . " \"" . $avitoUrl . "\": \"" . $currentPrice . "\"") :set isFirst false } :set customJson ($customJson . "\n}") /file set $jsonAvitoLinks contents=$customJson :log warning "Файл $jsonAvitoLinks успешно обновлен!" } else={ :log warning "Все цены без изменений. Запись в файл не требуется." } } else={ :log error "Не удалось прочитать или распарсить файл $jsonAvitoLinks" }
Скрипт будет проходить все ссылки в файле, с интервалом 60(79) секунд и сравнивать цену из файла с ценой на сайте. При изменении цены на сайте, скрипт отправит вам уведомление и запишет новую цену в файл с ссылками. Скрипт отслеживает только изменение цены на странице товара, не важно продаётся он или уже снят с продажи. Если цена есть, он будет за ней следить. Для получения уведомлений на почту, вам нужно настроить tools/email в роутере и указать почту получателя уведомлений в :local mailTo "ваша@почта.ru" Для получения уведомлений в телеграм, укажите токен вашего бота в :local botToken “ваш_токен:в_телеграм” , и id получателя уведомлений от бота телеграм в :local userId “ваш_id_в_телеграм” Если какой то из типов уведомления вам не нужен, удалите его из скрипта.
Далее в скрипте есть переменная :local cookie “Cookie: СЮДА” , в неё надо вставить ваши куки. Для этого: откройте в хроме мобильную страницу любого товара на авито, авторизовываться на авито не обязательно. Перейдите в режим разработчика F12, выберите вкладку СЕТЬ, далее вкладку ЗАПРОСЫ и обновите страницу. Самый первый запрос будет иметь тип ДОКУМЕНТ и синюю иконку списка. Выбирайте его и смотрите заголовки запроса, там будет огроменная кука, примерно такая
Скрытый текст
u=8xa9ax9a.xxxx9x.9x9xxxxxxxxx9; _ym_uid=9999999999999999999; _ga=GA1.1.999999999.9999999999; ma_cid=9999999999999999999; buyer_laas_location=999999; adrcid=Xxx9x9XxxxxxXxxx9XxxXxx; _ga_WW6Q1STJ8M=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; srv_id=Xx1_xXxxXxx11xxx.1xXxx1_111Xxx-Xx1xx1x11XXxxXxxXxXxxXxxXx9XXxx1XXxX11x9xxXFxxxx=.xX1xXXxx_XXxxxxXx1X9xXXxxXxxX1xx11mXXX-xXX=.web; ma_id=9999999999999999999999; tmr_lvid=x9xx9999x9a99x9900999999x999xxxx; tmr_lvidTS=1111111111111; acs_3=%7B%22hash%22%3A%229aa9f9999ee9c9990cb94fc902d4143056487c0d%22%2C%22nst%22%3A1111111111111%2C%22sl%22%3A%7B%22111%22%3A1111111111111%2C%221111%22%3A1111111111111%7D%7D; buyer_location_id=999999; _ga_9NLSMYFRV5=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; __zzatw-avito=XXX1xXX=Xx1+xX==; auth=1; uxs_uid=x9999999-9xx9-99e9-9b9b-9f9e9b99999b; _ym_d=1111111111; gMltIuegZN2COuSe=XXXXXxx99xxx11xxXxxXxxxx1V9xxxxN; selected_locale=ru-RU; _mlocation=999999; _mlocation_mode=default; __zzatw-avito=XXX1xXX=Xx1+xX==; cfidsw-avito=X1XXxxxxXXx1/X1+1xXxXXXXxXXxXXXXX1Xf11XXxxXxx11XX1fXz+Xxxxx1XxxX1U1xxxXxXxxx11xxXxx11xxx1XXeU1+1XXnHxxXxX1X4LxxXx11XXXXX1xxXMoXxXX1viXbXx1ATXxx1dAcF111nSt+1PBFxx==; cfidsw-avito=xXxxxE1uNXx+xx+Xv/nxXxxWdKdFBZ1U/fXxx91n9yWuvGM11r9fxfgBwLV+zlBRSI+GkUWMfrCgOtgvHEJKode3p7w1ANyliEi8hjjsKSlr8luQufn/sI11/s1dTAwQVfx7z1NgNbHS8jvtN5RWVWpOucFJQnMx+VbKA==; cfidsw-avito=xZ1RMMIqm99f7g7585781fae5f646f6099wH6mEbtOjavJ93abIPxKUUhg/6A/c2YulKD961FQaNjCTNP+8qvD8qgOWUdik7n2uWqTYVk3h/uANfRtHD2mxs6pYz5j2fJZLPjGcnJFJq3x5WtuNSDjAbqDxQtG4tCW6Hjrg==; _gcl_au=1.1.999999999.1111111111; sessid=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjExMTExMTExMTEsImlhdCI6MTExMTExMTExMSwidSI6OTk5OTk5OSwicCI6OTk5OTk5OSwicyI6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExLjExMTExMTExMTEiLCJoIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFfMTExMTExMTExMSIsImQiOiIyeDExeGZneC51eGhnMXkuMXgxeGVxdmlyZ3cwMCIsInBsIjoiZGVza3RvcCIsImV4dHJhIjpudWxsfQ.XXXXXXXXX_tIxaN2asx9C1Uq64kEZrJABUES34dhT7585781fae5f646f6099c7rgh4MwCfxtLyAkkW8KB4It3mrtgiw; rt=x1xxx1191111xx1x9fe111bd111d99xx; luri=xxxxxxx; sx=H4sIAAAAAAAC%2F1TMzUrDQBAH8HeZcw%2B7O7M7Sa7iBwqCIlSP85%2FZgGhFL4G05N0FoUhf4Hei6hUyFM%2FMJojCrFHm1OFZFJ5oOtFCE32ZpiXSLId9OTzJK%2B2o05RVR85paG3bUePBXJkjK9oo6AHmuUjp4mioZ%2Br4%2BLym4%2Fvnet3Wuze%2F%2FacK1%2FRHxagZOmvngNgAHtktZ5WKMDM%2BU3aj7X7%2F8rAA31c%2FH7ikStu23wAAAP%2F%2FMAvKDuIAAAA%3D; _ym_isad=1; v=1111111111; f=1.1111xxxx1111999xx11xxx1x19e1e99847e1eada7172e06c47e1eada7172e06c47e1eada7172e06c47e1eada7172e06cb59320d6eb6303c1b59320d6eb6303c1b59320d6eb6303c147e1eada7172e06c8a38e2c5b3e08b898a38e2c5b3e08b890df103df0c26013a7b07585781fae5f646f609935a0ac0df103df0c26013a0df103df0c26013a0a983f6e93802b5f68e2978c700f15b6c5033da27bc46070ab133e8e9e2fb30c55dea7d86f77f81946b8ae4e81acb9fad99271d186dc1cd087829363e2d856a246b8ae4e81acb9fa143114829cf7585781fae5f646f609950b96489ab264edf88859c11ff00895f88859c11ff00895f88859c11ff00895e2415097439d40471a2a574992f83a9213974252838f5be48b9480d83b9d7585781fae5f646f60992e2e76f6dcd997df589963b30427303d7585781fae5f646f609912c504099f344a6085fcea7585781fae5f646f60996300fbf995d5a513f0c77052689da50d0df17585781fae5f646f6099013a9285b7f36ba87585781fae5f646f6099bc04e49e4b4a28b03de19da9ed218fe23de19da9ed218fe237d68db16d801d05f33988f0fa8a7585781fae5f646f6099; ft="xxXxXxXXxxx+9XxxX9XXXxxxXxXx1XXxxX1XCC7xxXxx1XX+XhZ38XXx6XkL+X8J2iXElUmMgIzzfUJJXQP8JgFZ6s5ukag2YkD+lPcfjYOFkrGoZglXznpZbDdoBnpIsaX4oYm+aW4ft6Bzn+rLS2Q=="; _ga_ZJDLBTV49B=GS2.1.s1111111111$o11$g1$t1111111111$j11$l1$h1; pageviewCount=1111; pageviewCount=1111; _ga_M29JC28873=GS2.1.s1111111111$o111$g1$t1111111111$j11$l1$h1; cssid=99999999-xxxx-9999-xx9f-0fbf53dbbc9d; cssid_exp=1111111111111; cartCounter=0; _adcc=2.xKXYSP5I8xxCVaBa4g4gKcnWWjjBwAsKQe+Smv3KBbcjbgsinMLowbeuxPeYgX5d7oCdr4+o8pigVajs0RdVKFzlPQHqUlR6qx4Zk6/vJhgSVfQ9Etbx1vBYOlltvOVpzjYyhUgYtRvptdQ/V6NwWw0h5BFL; ma_ss_64a8dba6-67f3-4fe4-8625-257c4adae014=1111111111111111111.867.1111111111.4.1111111111; csprefid=99999999-991c-9969-b94b-c5fbf19c87fe
вставляем в переменную cookie всё что до ft= , как тут
u=8xa9ax9a.xxxx9x.9x9xxxxxxxxx9; _ym_uid=9999999999999999999; _ga=GA1.1.999999999.9999999999; ma_cid=9999999999999999999; buyer_laas_location=999999; adrcid=Xxx9x9XxxxxxXxxx9XxxXxx; _ga_WW6Q1STJ8M=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; srv_id=Xx1_xXxxXxx11xxx.1xXxx1_111Xxx-Xx1xx1x11XXxxXxxXxXxxXxxXx9XXxx1XXxX11x9xxXFxxxx=.xX1xXXxx_XXxxxxXx1X9xXXxxXxxX1xx11mXXX-xXX=.web; ma_id=9999999999999999999999; tmr_lvid=x9xx9999x9a99x9900999999x999xxxx; tmr_lvidTS=1111111111111; acs_3=%7B%22hash%22%3A%229aa9f9999ee9c9990cb94fc902d4143056487c0d%22%2C%22nst%22%3A1111111111111%2C%22sl%22%3A%7B%22111%22%3A1111111111111%2C%221111%22%3A1111111111111%7D%7D; buyer_location_id=999999; _ga_9NLSMYFRV5=GS2.1.s1111111111$o1$g1$t1111111111$j11$l1$h1; __zzatw-avito=XXX1xXX=Xx1+xX==; auth=1; uxs_uid=x9999999-9xx9-99e9-9b9b-9f9e9b99999b; _ym_d=1111111111; gMltIuegZN2COuSe=XXXXXxx99xxx11xxXxxXxxxx1V9xxxxN; selected_locale=ru-RU; _mlocation=999999; _mlocation_mode=default; __zzatw-avito=XXX1xXX=Xx1+xX==; cfidsw-avito=X1XXxxxxXXx1/X1+1xXxXXXXxXXxXXXXX1Xf11XXxxXxx11XX1fXz+Xxxxx1XxxX1U1xxxXxXxxx11xxXxx11xxx1XXeU1+1XXnHxxXxX1X4LxxXx11XXXXX1xxXMoXxXX1viXbXx1ATXxx1dAcF111nSt+1PBFxx==; cfidsw-avito=xXxxxE1uNXx+xx+Xv/nxXxxWdKdFBZ1U/fXxx91n9yWuvGM11r9fxfgBwLV+zlBRSI+GkUWMfrCgOtgvHEJKode3p7w1ANyliEi8hjjsKSlr8luQufn/sI11/s1dTAwQVfx7z1NgNbHS8jvtN5RWVWpOucFJQnMx+VbKA==; cfidsw-avito=xZ1RMMIqm99f7g7585781fae5f646f6099wH6mEbtOjavJ93abIPxKUUhg/6A/c2YulKD961FQaNjCTNP+8qvD8qgOWUdik7n2uWqTYVk3h/uANfRtHD2mxs6pYz5j2fJZLPjGcnJFJq3x5WtuNSDjAbqDxQtG4tCW6Hjrg==; _gcl_au=1.1.999999999.1111111111; sessid=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjExMTExMTExMTEsImlhdCI6MTExMTExMTExMSwidSI6OTk5OTk5OSwicCI6OTk5OTk5OSwicyI6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExLjExMTExMTExMTEiLCJoIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFfMTExMTExMTExMSIsImQiOiIyeDExeGZneC51eGhnMXkuMXgxeGVxdmlyZ3cwMCIsInBsIjoiZGVza3RvcCIsImV4dHJhIjpudWxsfQ.XXXXXXXXX_tIxaN2asx9C1Uq64kEZrJABUES34dhT7585781fae5f646f6099c7rgh4MwCfxtLyAkkW8KB4It3mrtgiw; rt=x1xxx1191111xx1x9fe111bd111d99xx; luri=xxxxxxx; sx=H4sIAAAAAAAC%2F1TMzUrDQBAH8HeZcw%2B7O7M7Sa7iBwqCIlSP85%2FZgGhFL4G05N0FoUhf4Hei6hUyFM%2FMJojCrFHm1OFZFJ5oOtFCE32ZpiXSLId9OTzJK%2B2o05RVR85paG3bUePBXJkjK9oo6AHmuUjp4mioZ%2Br4%2BLym4%2Fvnet3Wuze%2F%2FacK1%2FRHxagZOmvngNgAHtktZ5WKMDM%2BU3aj7X7%2F8rAA31c%2FH7ikStu23wAAAP%2F%2FMAvKDuIAAAA%3D; _ym_isad=1; v=1111111111; f=1.1111xxxx1111999xx11xxx1x19e1e99847e1eada7172e06c47e1eada7172e06c47e1eada7172e06c47e1eada7172e06cb59320d6eb6303c1b59320d6eb6303c1b59320d6eb6303c147e1eada7172e06c8a38e2c5b3e08b898a38e2c5b3e08b890df103df0c26013a7b07585781fae5f646f609935a0ac0df103df0c26013a0df103df0c26013a0a983f6e93802b5f68e2978c700f15b6c5033da27bc46070ab133e8e9e2fb30c55dea7d86f77f81946b8ae4e81acb9fad99271d186dc1cd087829363e2d856a246b8ae4e81acb9fa143114829cf7585781fae5f646f609950b96489ab264edf88859c11ff00895f88859c11ff00895f88859c11ff00895e2415097439d40471a2a574992f83a9213974252838f5be48b9480d83b9d7585781fae5f646f60992e2e76f6dcd997df589963b30427303d7585781fae5f646f609912c504099f344a6085fcea7585781fae5f646f60996300fbf995d5a513f0c77052689da50d0df17585781fae5f646f6099013a9285b7f36ba87585781fae5f646f6099bc04e49e4b4a28b03de19da9ed218fe23de19da9ed218fe237d68db16d801d05f33988f0fa8a7585781fae5f646f6099
Выбрасываем из неё всё что после ЗНАЧЕНИЯ параметра f , как в примере и вставляем в переменную :local cookie "Cookie: СЮДА"
Не снижайте паузу между запросами, авито быстро начнёт ругаться на IP и просить решить капчу. Наоборот, если у вас всего пару ссылок можете увеличить паузу до нескольких минут. После запроса цены, тоже нужна небольшая пауза, чтоб безопасно прочитать свежий usb1/avitoFile.html файл. Иногда случаются сетевые ошибки, у меня по крайней мере с моего CHR, поэтому даём каждому запросу в цикле 2 попытки. Такой скрипт надо запускать через планировщик, например раз в 10 минут, вне зависимости от размера списка с ссылками. Запускать с проверкой.
:if ([:len [/system script job find script=avitoFromFileParser]] = 0) do={ /system script run avitoFromFileParser } else={ :log warning "Скрипт avitoFromFileParser уже работает" }
Кстати опрос.
