Open Anton32reg opened 1 year ago
1) В uc не нужно передавать путь к бинарнику, он его сделает сам options.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe' достаточно указать версию Chrome, которая установлена в системе (в примере 108): driver = uc.Chrome(version_main=108, seleniumwire_options=wire_options) 2)Прокси задается не так: wire_options = proxy_line('D:\pycharmProjects_1\projects\proxy_list.txt') а так: wire_options = { 'proxy': { 'https': f'https://X7FiXtGT:V5xWAQSP@146.19.110.223:64304', } }
- В uc не нужно передавать путь к бинарнику, он делает сам options.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe' достаточно указать версию Chrome, которая установлена в системе (в понимании 108): driver = uc.Chrome(version_main=108, seleniumwire_options=wire_options) 2)Прокси задается не так: wire_options = proxy_line('D:\pycharmProjects_1\projects\proxy_list.txt') а так: wire_options = { 'proxy': { 'https ':f' https://X7FiXtGT:V5xWAQSP@146.19.110.223:64304 ', } }
Да, это частично решило мою проблему, но всё равно код работает не так, как ожидается, а именно: открывает два браузера, первый на приветственной странице а второй на заданной, должен открываться один и переходить по заданной ссылке, то есть второй. ВТорая проблема, сайт не грузится, ошибка ERR_TUNNEL_CONNECTION_FAILED, но прокси рабочие
from seleniumwire import undetected_chromedriver as uc
import time
def proxy_line(file):
with open(file, 'r+') as f:
lines = f.readlines()
if len(lines) > 0:
proxy = lines[0].strip()
f.seek(0)
f.writelines(lines[1:])
f.truncate()
return proxy
else:
return None
prox = proxy_line('D:\\pycharmProjects_1\\projects\\proxy_list.txt')
options = uc.ChromeOptions()
driver = uc.Chrome(options=options)
wire_options = {
'proxy': {
'https': f'https://prox',
}
}
try:
driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options)
driver.get("https://whoer.net")
except Exception as ex:
print(ex)
finally:
time.sleep(100)
driver.close()
driver.quit()
- В uc не нужно передавать путь к бинарнику, он делает сам options.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe' достаточно указать версию Chrome, которая установлена в системе (в понимании 108): driver = uc.Chrome(version_main=108, seleniumwire_options=wire_options) 2)Прокси задается не так: wire_options = proxy_line('D:\pycharmProjects_1\projects\proxy_list.txt') а так: wire_options = { 'proxy': { 'https ':f' https://X7FiXtGT:V5xWAQSP@146.19.110.223:64304 ', } }
Да, это частично решило мою проблему, но всё равно код работает не так, как ожидается, а именно: открывает два браузера, первый на приветственной странице а второй на заданной, должен открываться один и переходить по заданной ссылке, то есть второй. ВТорая проблема, сайт не грузится, ошибка ERR_TUNNEL_CONNECTION_FAILED, но прокси рабочие
from seleniumwire import undetected_chromedriver as uc import time def proxy_line(file): with open(file, 'r+') as f: lines = f.readlines() if len(lines) > 0: proxy = lines[0].strip() f.seek(0) f.writelines(lines[1:]) f.truncate() return proxy else: return None prox = proxy_line('D:\\pycharmProjects_1\\projects\\proxy_list.txt') options = uc.ChromeOptions() driver = uc.Chrome(options=options) wire_options = { 'proxy': { 'https': f'https://prox', } } try: driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options) driver.get("https://whoer.net") except Exception as ex: print(ex) finally: time.sleep(100) driver.close() driver.quit()
Всё работает как написано.
Вы инициализируете браузер в двух местах:
1) driver = uc.Chrome(options=options)
2) driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options)
Вот 2 браузера и открываются
Насчет прокси:
wire_options = { 'proxy': { 'https': f'https://prox', } }
У Вас реально прокси prox? Если Вы хотите, чтобы там подставилось значение переменной нужно делать так:
wire_options = { 'proxy': { 'https': f'https://{prox}', } }
Будьте, пожалуйста, более внимательны
Всё работает как написано. Вы инициализируете в двух местах:
driver = uc.Chrome(options=options)
driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options)
Вот 2 браузера и открываютсяНасчет прокси:
wire_options = { 'proxy': { 'https': f'https://prox', } }
У Вас реально прокси прокси? Если Вы хотите, чтобы там было принято решение, необходимо сделать так:wire_options = { 'proxy': { 'https': f'https://{prox}', } }
Будьте, пожалуйста, более внимательны
Да ты прав, благодарю. У меня к тебе вопрос, сталкивался ли ты с такой проблемой?
"Веб-страница по адресу https://2ip.ru/ , возможно, временно недоступна или постоянно перемещена по новому адресу.
ERR_TUNNEL_CONNECTION_FAILED" Прокси рабочие, не грузятся все сайты, даже гугл.
wire_options = { 'proxy': { 'https': f'https://prox', } }
Можно так попробовать
wire_options = { 'proxy': { 'https': f'http://prox', } }
букву S убрал если что
Это не помогло. Я давно отошел от языка, вот вернулся, и так туплю, но, что-то щёлкнуло в голове и вот что помогло wire_options = { 'proxy': { 'https': f'http://136.243.92.30:26541', } }
видимо, не суждено реализация из файла :) пока не знаю в чем проблема, предполагаю что опять моя невнимательность
def proxy_line(file):
with open(file, 'r+') as f:
lines = f.readlines()
if len(lines) > 0:
proxy = lines[0].strip()
f.seek(0)
f.writelines(lines[1:])
f.truncate()
return proxy
else:
return None
prox = proxy_line('D:\\pycharmProjects_1\\projects\\proxy_list.txt')
options = uc.ChromeOptions()
wire_options = { 'proxy': { 'https': f'http://136.243.92.30:26541', } }
driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options)
driver.get("https://2ip.ru/")
Это не помогло. Я давно отошел от языка, вот вернулся, и так туплю, но, что-то щёлкнуло в голове и вот что помогло wire_options = { 'proxy': { 'https': f'http://136.243.92.30:26541', } }
видимо, не суждено реализация из файла :) пока не знаю в чем проблема, предполагаю что опять моя невнимательность
def proxy_line(file): with open(file, 'r+') as f: lines = f.readlines() if len(lines) > 0: proxy = lines[0].strip() f.seek(0) f.writelines(lines[1:]) f.truncate() return proxy else: return None prox = proxy_line('D:\\pycharmProjects_1\\projects\\proxy_list.txt') options = uc.ChromeOptions() wire_options = { 'proxy': { 'https': f'http://136.243.92.30:26541', } } driver = uc.Chrome(version_main=114, seleniumwire_options=wire_options) driver.get("https://2ip.ru/")
Можно сделать примерно так:
proxy = "146.19.110.223:64304:X7FiXtGT:V5xWAQSP
ip, port, login, password = proxy.split(":")
А потом подставлять в нужных местах
Так, прокси всё равно не работают как нужно, видимо, только соло...
Вот... появилось.... не сталкивался с таким?
её НЕТ когда использую чистый юндетект, но появляется при подмене юзер-агента и прокси.
Так, прокси всё равно не работают как нужно, видимо, только соло...
Вот... появилось.... не сталкивался с таким?
её НЕТ когда использую чистый юндетект, но появляется при подмене юзер-агента и прокси.
Вы же сами и ответили на вопрос. У Вас какой-то старый юзерагент
Да, действительно. Спасибо, я бы долго мучался :)
а есть помимо прокси, юа, андетект браузера ещё что-то? Сайты по анонимности(по типу 2ip) показывают что всё в порядке, но на деле сайты распознают что что-то не так
может в коде проблема?
from seleniumwire import undetected_chromedriver as uc
import time
from fake_useragent import UserAgent
try:
def proxy_line(file):
with open(file, 'r+') as f:
lines = f.readlines()
if len(lines) > 0:
proxy = lines[0].strip()
f.seek(0)
f.writelines(lines[1:])
f.truncate()
return proxy
else:
return None
options = uc.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
ua = UserAgent()
options.add_argument(f'--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36.')
prox = proxy_line('D:\\pycharmProjects_1\\projects\\proxy_list.txt')
wire_options = {
'proxy': {
'https': f'http://77.247.108.17:33080',
}
}
driver = uc.Chrome(version_main=108, seleniumwire_options=wire_options, options=options)
driver.get("ссылка")
except Exception as ex:
print(ex)
finally:
time.sleep(1000)
Проблема скорее всего в самом ip, я так понимаю это публичный прокси
Проблема скорее всего в самом ip, я так понимаю это публичный прокси
Да, попробовал приватный прокси, картина повторилась :(
Проблема скорее всего в самом ip, я так понимаю это публичный прокси
Привет, к тебе вопрос по другой теме, как сохранить измененния сделанный через F12? Я пробовал как здесь https://zawindows.ru/как-сделать-так-чтобы-изменения-в-инст/ но страница загружается без изменений
Может ты знаешь
Может ты знаешь
Есть решения для selenium через selenium-wire, чтобы сделать такое. Вот здесь уже отвечал на такое: https://qna.habr.com/q/1271254 Если нужно конкретно руками такое сделать, хз
Здравствуй! Мой код