セレン
セレンとは何ですか?
Seleniumウェブブラウザの自動化とサポートを可能にする一連のツールとライブラリのための傘プロジェクトです。
Seleniumには多くの機能がありますが、そのコアでは、Webブラウザの自動化のためのツールセットです。これにより、ブラウザインスタンスをリモートで制御し、ブラウザとのユーザーインタラクションをシミュレートできる最高の技術を使用しています。

Socks5とSeleniumを統合する方法は次のとおりです。
1
Seleniumをインストールする
Selenium ワイヤをインストールして、Selenium の Python のバインディングを拡張します。デフォルトの Selenium モジュールを使用して、認証が必要なプロキシを実装します。 pip コマンドを使用してこれを行うことができます。pip install selenium-wire
この統合のためのもう一つの推奨パッケージは、webdriver-manager. これは、異なるブラウザのバイナリドライバの管理を簡素化するスイートです。 この場合、更新後にWebドライバの新しいバージョンを手動でダウンロードする必要はありません。
2
エージェントが適切に機能するようにユーザーの資格情報を指定する
USERNAME = "socks5-customer-USERNAME"
PASSWORD = "PASSWORD"
ENDPOINT = "proxy-as.socks5.io:3000"
3
プロキシステータスを確認する
訪問してエージェントが正常に機能しているかどうかを確認してくださいhttps://ip234.in/ip.json. すべてがうまくいったら - 使用するエージェントのIPアドレスを返します。
try:
driver.get("https://ip234.in/ip.json/")
return f'\nYour IP is: {driver.find_element(By.CSS_SELECTOR, "pre").text}'
finally:
driver.quit()完全なコード例:
from selenium.webdriver.common.by import By
from seleniumwire import webdriver
# A package to have a chromedriver always up-to-date.
from webdriver_manager.chrome import ChromeDriverManager
USERNAME = "socks5-customer-USERNAME"
PASSWORD = "PASSWORD"
ENDPOINT = "proxy-as.socks5.io:3000"
def chrome_proxy(user: str, password: str, endpoint: str) -> dict:
wire_options = {
"proxy": {
"http": f"http://{user}:{password}@{endpoint}",
"https": f"https://{user}:{password}@{endpoint}",
}
}
return wire_options
def execute_driver():
options = webdriver.ChromeOptions()
options.add_argument('--headless')
proxies = chrome_proxy(USERNAME, PASSWORD, ENDPOINT)
driver = webdriver.Chrome(
ChromeDriverManager(driver_version='<VERSION>').install(), options=options, seleniumwire_options=proxies
)
try:
driver.get("https://ip234.in/ip.json/")
return f'\nYour IP is: {driver.find_element(By.CSS_SELECTOR, "pre").text}'
finally:
driver.quit()
if __name__ == '__main__':
print(execute_driver())