🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

1523閲覧

seleniumで全てのサイトにアクセスする時に、MaxRetryErrorが出ます。

vvvvv

総合スコア47

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2022/09/18 12:11

編集2022/09/18 13:01

seleniumを使用して、digital ocean で作成した virtual machine のポートで、brightdataという会社のproxy rotation serverを経由して、Webページにアクセスしています。
しかし下記のエラーが出ます。アクセス先のページはyoutube にしても、facebookにしても同じエラーが出ます。しかしproxyを通さないで、digitalocean のipでdriver getをすると、そのページを表示できます。(一番下のコード)

1時間ほどproxy経由でコードを走らせていたのですがその時はWebページへのアクセスができていました。そして今このような状態になりました。

これは、プロキシの問題だと思うのですが、proxyへのアクセスが過多でブロックされるということがあるのでしょうか?
アドバイスいただけないでしょうか?

error

1File "/Users/****username***/opt/anaconda3/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment 2 raise MaxRetryError(_pool, url, error or ResponseError(cause)) 3urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='137.184.31.213', port=4444): Max retries exceeded with url: /wd/hub/session/eac94200dfd161d0000000000000 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa7d8cf7670>: Failed to establish a new connection: [Errno 61] Connection refused')) 4

python

1from selenium import webdriver 2import time 3 4import chromedriver_binary 5from fake_useragent import UserAgent 6 7from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 8from webdriver_manager.chrome import ChromeDriverManager 9 10import zipfile 11 12PROXY_HOST = 'zproxy.lum-superproxy.io' #'' # rotating proxy or host 13PROXY_PORT = 22225 #8080 # port 14PROXY_USER = '***********'#'proxy-user' # username 15PROXY_PASS = '***********'#'proxy-password' # password 16 17manifest_json = """ 18{ 19 "version": "1.0.0", 20 "manifest_version": 2, 21 "name": "Chrome Proxy", 22 "permissions": [ 23 "proxy", 24 "tabs", 25 "unlimitedStorage", 26 "storage", 27 "<all_urls>", 28 "webRequest", 29 "webRequestBlocking" 30 ], 31 "background": { 32 "scripts": ["background.js"] 33 }, 34 "minimum_chrome_version":"22.0.0" 35} 36""" 37 38background_js = """ 39var config = { 40 mode: "fixed_servers", 41 rules: { 42 singleProxy: { 43 scheme: "http", 44 host: "%s", 45 port: parseInt(%s) 46 }, 47 bypassList: ["localhost"] 48 } 49 }; 50 51chrome.proxy.settings.set({value: config, scope: "regular"}, function() {}); 52 53function callbackFn(details) { 54 return { 55 authCredentials: { 56 username: "%s", 57 password: "%s" 58 } 59 }; 60} 61 62chrome.webRequest.onAuthRequired.addListener( 63 callbackFn, 64 {urls: ["<all_urls>"]}, 65 ['blocking'] 66); 67""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS) 68 69 70from random_user_agent.user_agent import UserAgent 71from random_user_agent.params import SoftwareName, OperatingSystem,HardwareType 72from selenium.common.exceptions import NoSuchElementException 73 74 75def get_chromedriver(port): 76 chrome_options = webdriver.ChromeOptions() 77 pluginfile = 'proxy_auth_plugin.zip' 78 with zipfile.ZipFile(pluginfile, 'w') as zp: 79 zp.writestr("manifest.json", manifest_json) 80 zp.writestr("background.js", background_js) 81 chrome_options.add_extension(pluginfile) 82 hardware_types=[HardwareType.COMPUTER.value] 83 software_names = [SoftwareName.CHROME.value] 84 operating_systems = [OperatingSystem.MAC.value] 85 user_agent_rotator = UserAgent(software_names=software_names, operating_systems=operating_systems, hardware_types=hardware_types,limit=100) 86 user_agents = user_agent_rotator.get_user_agents() 87 user_agent = user_agent_rotator.get_random_user_agent() 88 print(user_agent) 89 # chrome_options.add_argument('user-agent='+UserAgent().random) 90 chrome_options.add_argument('user-agent='+user_agent) 91 chrome_options.add_argument('--no-sandbox') 92 chrome_options.add_argument('--disable-blink-features=AutomationControlled') 93 driver = webdriver.Remote( 94 command_executor='http://{}:4444/wd/hub'.format(port), 95 options=chrome_options) 96 driver.maximize_window() 97 return driver 98 99driver=get_chromedriver('137.184.31.213') 100time.sleep(10) 101driver.get('https://whatismyipaddress.com/') 102driver.quit() 103print('driver quit') 104 105

python

1def get_chromedriver(port): 2 chrome_options = webdriver.ChromeOptions() 3 chrome_options.add_argument('--no-sandbox') 4 5 driver = webdriver.Remote( 6 command_executor='http://{}:4444/wd/hub'.format(port), 7 options=chrome_options) 8 driver.maximize_window() 9 return driver 10 11driver=get_chromedriver('137.184.31.213') 12time.sleep(10) 13driver.get('https://www.cman.jp/network/support/go_access.cgi')

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

イメージ説明

申し訳ありませんでした。
何度のbright data の proxy rotation のアカウントページを確認して、onであること、serverがローカルで立ち上がってることは確認してたのですが、
アカウントバランスが0になっていました。

投稿2022/09/18 13:09

vvvvv

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問