Webスクレイピングや自動化のためにSeleniumで作業するとき、プロキシを統合することは必須です。プロキシは、禁止、レート制限、地域制限をバイパスすることを可能にし、タスクをシームレスで効率的にします。しかし、Seleniumでプロキシを設定するのは、特に認証を扱ったり、HTTPリクエストを監視する必要がある場合は、難しいかもしれません。そこでSelenium Wire の登場です。
Selenium WireはSeleniumの拡張バージョンで、プロキシの認証、HTTPリクエストとレスポンスの傍受、ネットワークトラフィックのデバッグなどの高度な機能が追加されている。
このガイドでは、Selenium でプロキシを設定する方法を紹介します。 セレンワイヤー
そして ウェブドライバマネージャ
.通常、ブラウザからウェブドライバ用のバイナリファイルをダウンロードし、定期的に更新する必要がある。そのため ウェブドライバマネージャ は、これらの作業をあなたに代わって処理することで、このプロセスを簡素化します。
このブログが終わるころには、ProxyScrape プロキシに合わせた Selenium のセットアップが完了し、どんな課題にも取り組めるようになっているでしょう。さあ、始めましょう!
チュートリアルの全行程を経ずに完全なスクリプトにアクセスするには、このリンクをクリックして完全なコードをコピーしてください。
Seleniumでプロキシをセットアップする前に、以下のツールとライブラリがインストールされていることを確認してください:
以下のコマンドを実行して、すべての依存関係をインストールする:
pipinstallselenium-wire webdriver-manager
注意:"ModuleNotFoundError:blinker._saferefというモジュールがありません。".これは、blinkerライブラリをバージョン1.7.0にダウングレードすることで解決できます。
目かくし
pip uninstall blinker
pipinstallblinker==1.7.0
前提条件が整ったところで、スクリプトの設定を3つの簡単なステップに分解してみよう:
さて、前提条件を説明したところで、実際のスクリプトに移りましょう。このステップ・バイ・ステップ・ガイドでは ProxyScrape レジデンシャル・プロキシ を使用してSeleniumを使用する。 セレンワイヤー
そして ウェブドライバマネージャ
.
まず、必要なライブラリをインポートする:
インポートre
fromseleniumwireimportwebdriver
fromselenium.webdriver.chrome.serviceimportService
fromselenium.webdriver.chrome.options import Options
fromwebdriver_manager.chromeimportChromeDriverManager
ProxyScrape プロキシの詳細を定義します:
proxy_address="rp.proxyscrape.com:6060"
プロキシ・ユーザー名="あなたのプロキシ・ユーザー名"
proxy_password="あなたのproxy_password"
(proxy_username, proxy_password)
実際のProxyScrape 。Selenium Wire でプロキシを設定します:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
Chromeの設定を最適化してパフォーマンスを向上:
chrome_options =Options()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--サンドボックスなし")
chrome_options.add_argument("--disable-dev-shm-usage")
セットアップ セレンワイヤー
と ウェブドライバマネージャ
:
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service,seleniumwire_options=sw_options,options=chrome_options)
ProxyScrape Judge エンドポイントに移動し、プロキシをテストする:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
正規表現を使用して、プロキシされたIPアドレスを抽出して表示します:
# 例レスポンスからIPを取り出す
レスポンス = driver.page_source
# オリジンIPを解析するために単純な正規表現を使用する
print("レスポンス:", レスポンス)
print("Your IP is:", re.search("HTTP_X_FORWARDED_FOR = (¬d+.)+¬d+", response).group().split("=")[-1])
# ブラウザ・インスタンスを終了する
ドライバー.quit()
HTTP_X_FORWARDED_FOR
を抽出し、プロキシされたIP結論として、ProxyScrape 住宅用プロキシと Selenium Wire の併用は、プライバシーとセキュリティを強化した高度なウェブスクレイピングと自動化機能を必要とするすべての人にとって堅牢なソリューションです。
このガイドに従うことで、制限を回避するだけでなく、最小限の設定作業で済むシームレスな環境を設定することができます。この方法では、Selenium Wireや WebDriver Managerのような強力なツールを活用して、プロキシを経由したトラフィックを効率的に管理・ルーティングし、スクレイピングタスクの効率性と信頼性を維持します。
ウェブスクレイピングのサポートが必要な場合、または当社製品についてご質問がある場合は、遠慮なくライブチャットでお問い合わせください。また、サポートやアップデートのために私たちのDiscordコミュニティに参加することもできます。