在selenium chrome驱动程序中使用ProxyMesh(https://proxymesh.com)IP进行Web报废

时间:2015-07-16 02:21:36

标签: python selenium proxy scrapy-spider

我使用带有Proxy Mesh IP的python-scrapy框架执行了web-scrapping。如果代理需要身份验证,请使用以下代码:

import base64

# Start your middleware class
class ProxyMiddleware(object):
    # overwrite process request
    def process_request(self, request, spider):
        # Set the location of the proxy
        request.meta['proxy'] = "http://....."

        # Use the following lines if your proxy requires authentication
        proxy_user_pass = "username:pwd"
        # setup basic authentication for the proxy
        encoded_user_pass = base64.encodestring(proxy_user_pass)
        request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass

当我想在使用硒铬驱动器进行刮擦的同时使用相同的技术时,可以使用哪种方法。我找到使用firefox的例子,但在Chrome驱动程序中没有运气。请分享您的想法。

1 个答案:

答案 0 :(得分:3)

proxymesh how to configure http client上查看文档,您可以将您的个人资料对象设置为

profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "http://username:password@xyz.proxymesh.com")
profile.set_preference("network.proxy.http_port", "portnumber")
profile.update_preferences()

driver = webdriver.Firefox(firefox_profile=profile)

或者您可以使用webdriver.Proxy对象来设置ssl凭据。 此外,在proxymesh配置面板上还有可用的选项,您可以在其中添加[使用proxymesh服务的服务器的IP地址/主机名]。