#python #python_3x #selenium #selenium_webdriver #socks5
никак не получается настроить socks5 прокси (и http кстати тоже) на Selenium. Перепробовал
кучу способ. И через опции
self.options.add_argument('--proxy-server=http://'+proxy)
и через
webdriver.DesiredCapabilities.CHROME['proxy'] = {
"socksProxy": proxy,
"ftpProxy": proxy,
"sslProxy": proxy,
"noProxy": None,
"proxyType": "MANUAL",
"class": "org.openqa.selenium.Proxy",
"autodetect": False
}
И тд. Видимо где то я делаю ошибку, пожалуйста опишите полностью рабочий пример настройки
socks5 прокси на Selenium для Python и Chrome webdriver, с привидением форматов строки
прокси(ибо может я тут туплю...). Пишу от безысходности уже...Заранее большое спасибо!
PS два типа проблем возникали при попытках установить прокси разными способами:
Просто оставался старый айпишник, не ставился прокси.
Пропадал доступ в интернет через webdriver.
Просто почему то очень много способов в интернете находил, но результата пока что
не добился
Update:
Попробовал способом предложенным ниже. IP не удается изменить
proxy = 'name:pass@ip:port'
service_args = ['--proxy='+proxy, '--proxy-type=socks5']
driver = webdriver.Chrome(executable_path=path_to_chrome_webdriver,
service_args=service_args)
driver.get('https://2ip.ru/')
Update:
Получилось использовать прокси socks5 без аутентификации с помощью следующего кода:
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=socks5://' + proxy)
driver = webdriver.Chrome(options=self.options)
При добавлении
options.add_argument('--proxy-auth=' + proxy_auth)
Пропадает подключение
Ответы
Ответ 1
Попробуйте через service_args: service_args = ['--proxy=127.0.0.1:9050', '--proxy-type=socks5', '--proxy-auth=admin:admin'] driver = webdriver.Chrome(executable_path=path_to_chrome_webdriver, service_args=service_args) Update: proxies = [ { 'addr': '123.123.123.123:1234', 'auth': 'admin:admin' }, { 'addr': '200.2.2.2:7868', 'auth': 'foo:bar' }, ] for proxy in proxies: service_args = ['--proxy=' + proxy['addr'], '--proxy-type=socks5', '--proxy-auth=' + proxy['auth']] driver = webdriver.Chrome(executable_path=path_to_chrome_webdriver, service_args=service_args) driver.get('https://2ip.ru/') driver.close()Ответ 2
Хром не поддерживает прокси с аутентификацией по логину и паролю Я в этом не уверен, но очень много информации изучив я пришел к этому. Единственное решение, которое для меня подходит - это использовать прокси без аутентификации по логину и паролю (можно использовать аутентификацию по IP) options = webdriver.ChromeOptions() proxy = '12.12.421.125:1949' options.add_argument('--proxy-server=socks5://' + proxy) driver = webdriver.Chrome(options=self.options)
Комментариев нет:
Отправить комментарий