Alexandr
Всем привет!
Alexandr
Подскажите пожалуйста как обойти защиту cloudflare
Anonymous
А в чем именно проблема?
Юрий
Anonymous
Юрий
Ну мало ли)
Юрий
Хорошо бы просто увидеть конфиги браузера и что выдает клодфлаер
Alexandr
this.chromeOptions = {
headless: false,
devtools: false,
ignoreHTTPSErrors: true,
args: [
"--window-size=1920,1080",
"--start-maximized",
"--deterministic-fetch",
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage",
"--disable-gpu",
"--disable-extensions",
"--disable-dev-tools",
"--disable-infobars",
"--ignore-certificate-errors",
"--user-agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'"
]
};
Alexandr
Когда меняешь headless: на true не пускает дальше
Anonymous
Клауд флаер выставляет Россию как опасную зону в черный список и войти на сайт можно только через прокси
Alexandr
Anonymous
Проблема прежде всего в сайте
Alexandr
Так добавляю прокси
Anonymous
Простой браузер входит?
Alexandr
if (proxy) {
this.chromeOptions.args.push(
--proxy-server=${proxy_host}:${proxy_port}
);
}
Alexandr
Anonymous
Значит палят паппита
Anonymous
Видят что ты робот . На гитхабе есть решение. Не помню правда что за репа
Alexandr
Юрий
Юрий
Есть адрес сайта где можно протестить?
Alexandr
Anonymous
Screenshot (24 янв. 2020 г. 10:52:55)
Anonymous
Ясный пень
Юрий
не. там похоже что то такое
Юрий
Юрий
гляну с работы тогда.
чет он палит мою впнку при любом раскладе
Alexandr
Alexandr
Без впн не работает
Юрий
Gambit501
Вопрос) еще один
Gambit501
Есть код
Gambit501
Gambit501
вот HTML фрейма
Gambit501
Gambit501
вот консоль
Gambit501
Gambit501
Увидео ошибку у себя, #fo а надо было #foo - поставил, результат тот же
Andrey
Я юзаю что-то вроде такого:
recaptchaFrame(page) {
for (const frame of page.mainFrame().childFrames()) {
if (frame && frame.url().startsWith('https://www.google.com/recaptcha/api2/bframe'))
return frame;
}
return null;
}
Вадим
как зачем?
- паппетир - средство автоматизации управлением браузером
- предлагаемый инструмент то же
- майкросовт в последнее время делает очень много хорошего для опенсорса
- гитхаб развивает немерянными темпами
- VisualCode бесплатно раздает
- typescript активно развивает
- и много другого
Roman
не
Roman
ты классный
1
Подскажите, при запуске puppeteer отъедает ОЗУ 300-400 Мб, требуется запустить одновременно 30-50 с разными proxy, а это в сумме сжирает не менее 10-16 Гб. Как-то можно обуздать аппетит?
Roman
в headless?
1
Roman
ОС?
1
Roman
видимо вкладки жрут ваши
Roman
ну значит вкладка жрет
Roman
скрипты может жрут там
короче это не проблема пупитра
Roman
скриптов сайта или ваших скриптов
1
Google Recaptcha v3 понимает в каком режиме запущен браузер, запускаешь в режиме headless: false, капча не просит подтвердить, а как запускаешь headless: true, так сразу просит нажать галочку. В настройках прописаны стандартные браузеры. Как-то можно замаскировать браузер, чтобы не определялся, как headless?
Roman
Anonymous
Ubuntu Server 18.04
Переходи на 10 ку )Когда то я использовал убунту что бы комп не грелся . Сейчас винты просто не останавливаются на idle режиме.
Roman
1
Anonymous
Гугл сам сделал хедлесс , и вы удивляетесь что он все понимает:)
Anonymous
1
СентОС
Какая разница, какой linux будет крутиться, от этого puppeteer жрать меньше памяти не станет )). Привык на Debian подобных, тем более всё крутится без GUI
1
1
Roman
похоже
1
Тот же самый скрипт, только в режиме headless капча уже определяет и просит нажать, как толька в графическом режиме, так капча не ругается.
1
1
Разные пробовал перебирать UserAgent, тоже особо не помогло
1
Понятно, думал, что в headless один в один поведение. Значит, придётся костыли изобретать. Спасибо за подсказку.
1
А как запустить в графическом режиме в свёрнутом состоянии?
есть:
'--start-maximized',
а вот, minimized нет. Каждый раз выскакивает на весь экран и перекрывает все окна.
1
Надо будет разобраться, как это делается.
1
Ага, увидел. Полезная вещь.
1
Как работать с модулями?
В модуле А:
Запускается сам браузер с пустой страницей и вызывается функция из модуля В.
В модуле В:
В функции открывается страница и выполняется ряд действий на странице.
При запуске ошибка:
ReferenceError: page is not defined
Как запустить функцию из модуля В в модуле А?
Nikolai
a.js
export page;
b.js
import page from 'a.js'
page.screenshot();