我使用带有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驱动程序中没有运气。请分享您的想法。
答案 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地址/主机名]。