Bỏ qua đến nội dung chính
Tất cả bộ sưu tậpThiết lập, Tích hợp và Lệnh APIHướng dẫn cấu hình
Selenium với Xác thực Tên người dùng và Mật khẩu (Khóa API)
Selenium với Xác thực Tên người dùng và Mật khẩu (Khóa API)

Cách cấu hình proxy Proxyrack của bạn trong Selenium bằng tên người dùng và mật khẩu (khóa API) của bạn

Evan avatar
Được viết bởi Evan
Đã cập nhật cách đây hơn 1 tuần

Selenium không cho phép bạn sử dụng xác thực tên người dùng và mật khẩu (khóa API) theo mặc định. Bạn có thể sử dụng cách giải quyết dưới đây để thực hiện điều này thay vì danh sách trắng IP.

import osimport zipfilefrom selenium import webdriverPROXY_HOST = 'premium.residential.proxyrack.net'  # đây là cho proxy Premium Residential. bạn có thể thay thế DNS của dịch vụ bạn đang sử dụngPROXY_PORT = 9000 # cổng (sử dụng "10000" cho cổng cố định)PROXY_USER = 'user' # tên người dùng của bạnPROXY_PASS = 'password' # mật khẩu của bạn (khóa API)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"}"""background_js = """var config = {        mode: "fixed_servers",        rules: {        singleProxy: {            scheme: "http",            host: "%s",            port: parseInt(%s)        },        bypassList: ["localhost"]        }    };chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});function callbackFn(details) {    return {        authCredentials: {            username: "%s",            password: "%s"        }    };}chrome.webRequest.onAuthRequired.addListener(            callbackFn,            {urls: ["<all_urls>"]},            ['blocking']);""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)def get_chromedriver(use_proxy=False, user_agent=None):    path = os.path.dirname(os.path.abspath(__file__))    chrome_options = webdriver.ChromeOptions()    if use_proxy:        pluginfile = 'proxy_auth_plugin.zip'        with zipfile.ZipFile(pluginfile, 'w') as zp:            zp.writestr("manifest.json", manifest_json)            zp.writestr("background.js", background_js)        chrome_options.add_extension(pluginfile)    if user_agent:        chrome_options.add_argument('--user-agent=%s' % user_agent)    driver = webdriver.Chrome(        os.path.join(path, 'chromedriver'),        chrome_options=chrome_options)    return driverdef main():    driver = get_chromedriver(use_proxy=True)    driver.get('http://api.ipify.org/?format=json')  # bất kỳ url nào bạn muốn thu thập
Nội dung này có giải đáp được câu hỏi của bạn không?