Mフラッタ機関、政府機関、グローバルブランドをリードする10年近くフォワーディング業界を中心に、オープン、親密な、排他的なエージェント、および無料トライアルを提供
Mフラッタ機関の公式サイトします。https://proxy.mimvp.com
この記事の例としては、特別に開発されたコンビネーションメータフラッタエージェントプライベート、排他的な、オープンプロキシ、の一例であり、
HTTP、HTTPSパスワード、ホワイトリストIP、パスワード認証の3種類をサポートしていません
たとえば、プラグインを使用してくださいXPIメートル代理店の公式サイト、または米フラッタの公式githubのダウンロードをフラッター
本論文では、直接特定のコメントを参照して、厳密に検証され、完全なコードを与えます
本論文では、動作環境の例:
MacBook ProのMacOSのハイシエラバージョン10.13.4
Google Chromeのバージョン63.0.3239.84(公式ビルド)(64ビット)
Pythonの2.7.13(v2.7.13:a06454b1afa1、2016年12月17日、午前12時39分47秒)
$ピップリスト| grepのセレン
セレン(3.4.2)
chromedriverダウンロードします。http://chromedriver.storage.googleapis.com/index.html
Pythonの+セレン+クローム
エラーメッセージ:WebDriverException:「chromedriver」実行可能ファイルがPATHにあることが必要です
ソリューション:
。ChromeDriverをダウンロードして、他のブラウザは、公式サイトの説明を参照してください
B。Google Chromeのプログラムディレクトリにchromedriveファイルをコピー、または環境変数にコピーします
CP chromedriveは/ usr / local / binに/
各オペレーティング・システム・ロケーション・パスは、公式のWikiを参照することができます
あなたはPythonコードwebdriverをオブジェクトを作成Chromedrive転送パス
例1:MacOSの+クローム環境
chromedriver = "/アプリケーション/ GoogleのChrome.app/Contents/MacOS/chromedriver"
ブラウザ= webdriver.Chrome(executable_path = chromedriver)#オープンChromeブラウザ
browser.get(URL)
コンテンツ= browser.page_source
印刷( "内容:" + strの(コンテンツ))
例2:MacOSの+環境変数
def spider_url_chrome(url):
browser = None
display = None
try:
display = Display(visible=0, size=(800, 600))
display.start()
chromedriver = '/usr/local/bin/chromedriver'
browser = webdriver.Chrome(executable_path=chromedriver) # 打开 Chrome 浏览器
browser.get(url)
content = browser.page_source
print("content: " + str(content))
finally:
if browser: browser.quit()
if display: display.stop()
セレン+ chromedriverエージェント、またはパスワードなしでは、IPホワイトリストを設定されています
## webdriver + chrome + proxy + whiteip (无密码,或白名单ip授权)
## 米扑代理:https://proxy.mimvp.com
def spider_url_chrome_by_whiteip(url):
browser = None
display = None
## 白名单ip,请见米扑代理会员中心: https://proxy.mimvp.com/usercenter/userinfo.php?p=whiteip
mimvp_proxy = {
'ip' : '140.143.62.84', # ip
'port_https' : 62288, # http, https
'port_socks' : 62287, # socks5
'username' : 'mimvp-user',
'password' : 'mimvp-pass'
}
try:
display = Display(visible=0, size=(800, 600))
display.start()
chrome_options = Options() # ok
chrome_options = webdriver.ChromeOptions() # ok
proxy_https_argument = '--proxy-server=http://{ip}:{port}'.format(ip=mimvp_proxy['ip'], port=mimvp_proxy['port_https']) # http, https (无密码,或白名单ip授权,成功)
chrome_options.add_argument(proxy_https_argument)
# proxy_socks_argument = '--proxy-server=socks5://{ip}:{port}'.format(ip=mimvp_proxy['ip'], port=mimvp_proxy['port_socks']) # socks5 (无密码,或白名单ip授权,失败)
# chrome_options.add_argument(proxy_socks_argument)
chromedriver = '/usr/local/bin/chromedriver'
browser = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_options) # 打开 Chrome 浏览器
browser.get(url)
content = browser.page_source
print("content: " + str(content))
finally:
if browser: browser.quit()
if display: display.stop()
セレン+エージェントをchromedriver、およびHTTP、HTTPSアカウントのパスワードをサポート
この例は、ユーザ名とパスワードを使用して、米バッシングのエージェントを認可しました
ユーザー名パスワード認証、してくださいメートルフラッタ機関を取得 - 人 - ホワイトリストIP
1、proxy.zipにパッケージ化、以下の2つのファイルのbackground.jsとmanifest.jsonをが含まれているzipパッケージを作成します
1)background.js
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "140.143.62.84",
port: 19480
},
bypassList: ["mimvp.com"]
}
};
chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: "mimvp-user",
password: "mimvp-pass"
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: ["<all_urls>"]},
['blocking']
);</all_urls>
注:上記の構成、代理店は、IPする必要がある、ポート、ユーザー名、パスワードはメートルフラッタープロキシIPを置き換える:ポート、許可されたユーザ名とパスワード
2)manifest.jsonを
{"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"]
},
"minimum_chrome_version":"22.0.0"
}
注意:上記の設定、変更なしに、直接コピーを使用するには
図2は、クロムのプラグインとして追加proxy.zip
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.proxy import *
from selenium.webdriver.chrome.options import Options
from pyvirtualdisplay import Display
# from xvfbwrapper import Xvfb
def spider_url_chrome_by_https(url):
browser = None
display = None
try:
display = Display(visible=0, size=(800, 600))
display.start()
chrome_options = Options()
chrome_options.add_extension("proxy.zip")
chromedriver = '/usr/local/bin/chromedriver'
browser = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_options) # 打开 Chrome 浏览器
browser.get(url)
content = browser.page_source
print("content: " + str(content))
finally:
if browser: browser.quit()
if display: display.stop()
if __name__ == '__main__':
url = 'https://ip.cn'
url = 'https://mimvp.com/'
url = 'https://proxy.mimvp.com/ip.php'
# http, https 密码授权,成功
spider_url_chrome_by_https(url)
3、运行效果,验证成功
content: <html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>140.143.62.84</body></html>
転載リンク: https://blog.csdn.net/ithomer/article/details/81091337