SeleniumでプロキシIPを設定する方法を詳しく解説
Firefox でプロキシ IP を設定する
method_1
from selenium import webdriver profile = webdriver.FirefoxProfile() profile.set_preference('network.proxy.type', 1) profile.set_preference('network.proxy.http', '127.0.0.1') profile.set_preference('network.proxy.http_port', 17890) # int profile.update_preferences() driver = webdriver.Firefox(firefox_profile=profile) driver.get('http://httpbin.org/ip')
method_2
from selenium import webdriver from selenium.webdriver.common.proxy import Proxy from selenium.webdriver.common.proxy import ProxyType proxy = Proxy( { # 'proxyType': ProxyType.MANUAL, # 用不用都行 'httpProxy': get_proxy_ip_port() } ) driver = webdriver.Firefox(proxy=proxy) driver.get('http://httpbin.org/ip')
phantomjsプロキシ IP を設定する
方法 1: あまりにも洗練されていません (方法 2 を見てみましょう)
phantomjs では、上記の Firefox のようにすることはできませんでproxy のようなメソッド 2
phantomjs と Firefox はどちらも WebDriver から継承します。WebDriver が proxyphantomjs に渡すことができる親クラスは、WebDriver
の初期化時に proxy パラメーターを残さないため、以下に示すように phantomjs クラスのソース コードを変更できます。 phantomjs でプロキシ パラメータを渡すことができます# 注意授权 # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The SFC licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License.ログイン後にコピー
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': get_proxy_ip_port()
}
)
driver = webdriver.PhantomJS(
executable_path="/path/of/phantomjs",
proxy=proxy
)
driver.get('http://httpbin.org/ip')
print driver.page_source
driver.close()
ログイン後にコピー
方法 2:from selenium import webdriver from selenium.webdriver.common.proxy import Proxy from selenium.webdriver.common.proxy import ProxyType proxy = Proxy( { 'proxyType': ProxyType.MANUAL, 'httpProxy': get_proxy_ip_port() } ) driver = webdriver.PhantomJS( executable_path="/path/of/phantomjs", proxy=proxy ) driver.get('http://httpbin.org/ip') print driver.page_source driver.close()
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': 'ip:port' # 代理ip和端口
}
)
# 新建一个“期望技能”,哈哈
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
# 把代理ip加入到技能中
proxy.add_to_capabilities(desired_capabilities)
driver = webdriver.PhantomJS(
executable_path="/path/of/phantomjs",
desired_capabilities=desired_capabilities
)
driver.get('http://httpbin.org/ip')
print driver.page_source
driver.close()
ログイン後にコピー
方法 3 (IP を動的に切り替える):from selenium import webdriver from selenium.webdriver.common.proxy import Proxy from selenium.webdriver.common.proxy import ProxyType proxy = Proxy( { 'proxyType': ProxyType.MANUAL, 'httpProxy': 'ip:port' # 代理ip和端口 } ) # 新建一个“期望技能”,哈哈 desired_capabilities = DesiredCapabilities.PHANTOMJS.copy() # 把代理ip加入到技能中 proxy.add_to_capabilities(desired_capabilities) driver = webdriver.PhantomJS( executable_path="/path/of/phantomjs", desired_capabilities=desired_capabilities ) driver.get('http://httpbin.org/ip') print driver.page_source driver.close()
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': 'ip:port' # 代理ip和端口
}
)
# 新建一个“期望技能”,哈哈
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
# 把代理ip加入到技能中
proxy.add_to_capabilities(desired_capabilities)
driver = webdriver.PhantomJS(
executable_path="/path/of/phantomjs",
desired_capabilities=desired_capabilities
)
# 测试一下
driver.get('http://httpbin.org/ip')
print driver.page_source
# 现在开始切换ip
# 再新建一个ip
proxy = Proxy(
{
'proxyType': ProxyType.MANUAL,
'httpProxy': 'ip:port' # 代理ip和端口
}
)
# 再新建一个“期望技能”,()
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
# 把代理ip加入到技能中
proxy.add_to_capabilities(desired_capabilities)
# 新建一个会话,并把技能传入
driver.start_session(desired_capabilities)
driver.get('http://httpbin.org/ip')
print driver.page_source
driver.close()
ログイン後にコピー
from selenium import webdriver from selenium.webdriver.common.proxy import Proxy from selenium.webdriver.common.proxy import ProxyType proxy = Proxy( { 'proxyType': ProxyType.MANUAL, 'httpProxy': 'ip:port' # 代理ip和端口 } ) # 新建一个“期望技能”,哈哈 desired_capabilities = DesiredCapabilities.PHANTOMJS.copy() # 把代理ip加入到技能中 proxy.add_to_capabilities(desired_capabilities) driver = webdriver.PhantomJS( executable_path="/path/of/phantomjs", desired_capabilities=desired_capabilities ) # 测试一下 driver.get('http://httpbin.org/ip') print driver.page_source # 现在开始切换ip # 再新建一个ip proxy = Proxy( { 'proxyType': ProxyType.MANUAL, 'httpProxy': 'ip:port' # 代理ip和端口 } ) # 再新建一个“期望技能”,() desired_capabilities = DesiredCapabilities.PHANTOMJS.copy() # 把代理ip加入到技能中 proxy.add_to_capabilities(desired_capabilities) # 新建一个会话,并把技能传入 driver.start_session(desired_capabilities) driver.get('http://httpbin.org/ip') print driver.page_source driver.close()
以上がSeleniumでプロキシIPを設定する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...
