Selenium、PhantomJS ドライバー、Python バインディングを使用して、ユーザー名とパスワード、およびカスタム ユーザー エージェントを必要とするプロキシをワーカーに割り当てる方法。
テスト Web サイトを横断する多くのワーカーを作成することに成功しました。承認を必要としないユーザー エージェントまたはプロキシを割り当てることもできます。しかし、同じワーカーに対して両方を同時に行う方法はまだわかりません。
ただし、現時点での本当の問題は、ユーザー名とパスワードによる承認が必要なワーカーにプロキシを割り当てることです。
プレーヤー: Selenium 2.33.0 / PhantomJS 1.9.1 / Python 2.7.3 / Ubuntu 12.04
私:ぬべ。Python 週、Linux 日、Selenium 時間、PhantomJS -= 、SO 最初の投稿
検索結果: python webdriver で phantomjs/ghostdriver のプロキシを設定するにはどうすればよいですか?
答えは実際にはそこにあるかもしれませんし、私が読んだり再読した他の多くの場所もありますが、現在のレベルでは点をつなぐことはできません.
ユーザーエージェントはこの方法で解決しました。
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = (
"Any User Agent string here”)
driver = webdriver.PhantomJS(desired_capabilities=dcap)
承認なしのプロキシはこれで機能します:
service_args = [
'--proxy=127.0.0.1:9999',
'--proxy-type=http,
]
driver = webdriver.PhantomJS('/usr/local/bin/phantomjs,service_args=service_args)
上記の両方の方法が使用されている場合、プロキシと UA の両方を PhantomJS ドライバーに渡す方法がわかりません。ATM 認証が必要なプロキシでは、どちらか一方しか実行できず、まったく実行できません。
この SO スレッドの目標:
- ユーザー名/パスワードが必要なプロキシを割り当てる方法を学ぶ
- カスタム ユーザー エージェントを同じワーカーに割り当てます。
Selenium、PhantomJS ドライバー、Python バインディングを使用。
最終的な目標は、各ワーカーに一意の IP を割り当て、ユーザー エージェントのプールからプルすることです。このためのロジックを作成していますが、私は楽観的ですが、現在、承認されたプロキシが私を蹴っています。
おわかりのように、私はこれらすべてに非常に慣れていないため、この特定の問題の助けと例をいただければ幸いです。
ありがとう!
編集: 以下の受け入れられた回答は正しくありません。以下のソリューションを再現できません。承認されたプロキシのみがドライバーに割り当てられます。プロキシとユーザー エージェントの両方を同じドライバーに割り当てることはできません。
どんな助けや指示も大歓迎です。
EDIT.02: 問題が解決しました。コーディングの問題ではありませんでした。サーバー レベルの新しいプロキシ プロバイダーは、上記のスクリプトをオーバーライドするデフォルトの UA を割り当てました。これが削除されると、すべてがうまくいきました。