【问题标题】:python selenium - using phantomJS proxypython selenium - 使用 phantomJS 代理
【发布时间】:2016-04-06 09:58:26
【问题描述】:

我正在尝试弄清楚如何使用 phantomJS 代理服务器。 我想使用 URL 代理 (http://multiwebproxy.com/:8080) 来测试我的 phantomJS 匿名网络抓取能力。到目前为止,我尝试使用以下代码未成功。

任何与 Selenium phantomJS 兼容的免费\付费代理服务的想法?

PROXY = 'http://multiwebproxy.com/:8080'

dcap = dict(DesiredCapabilities.PHANTOMJS)

dcap['proxy'] = {
"httpProxy":PROXY,
"ftpProxy":PROXY,
"sslProxy":PROXY,
"noProxy":None,
"proxyType":"MANUAL",
"class":"org.openqa.selenium.Proxy",
"autodetect":False
}

driver = webdriver.PhantomJS(executable_path=r'/home/ec2-user/utils/phantomjs-2.1.1-linux-x86_64/bin/phantomjs',desired_capabilities=dcap)

【问题讨论】:

    标签: python python-2.7 selenium proxy web-scraping


    【解决方案1】:

    这是在 selenium 中使用 PhantomJS 代理的方法

    from selenium import webdriver
    from selenium.webdriver.common.proxy import *
    
    myProxy = "http://multiwebproxy.com/:8080"
    
    proxy = Proxy({
      'proxyType': ProxyType.MANUAL,
      'httpProxy': myProxy,
      'ftpProxy': myProxy,
      'sslProxy': myProxy,
      'noProxy':''})
    
    driver = webdriver.PhantomJS(proxy=proxy)
    

    【讨论】:

      【解决方案2】:

      我不知道 Python,但在 C# 中有一个名为 PhantomJSOptions 的类,您可以在其中使用参数 CapabilityType.Proxy 调用 AddAdditionalCapability()

      例子:

      private PhantomJSDriver CreatePhantomJSDriver(string httpProxy)
      {
          var options = new PhantomJSOptions();
          if (!string.IsNullOrEmpty(httpProxy))
          {
              options.AddAdditionalCapability(CapabilityType.Proxy, new Proxy { HttpProxy = httpProxy });
          }
          return new PhantomJSDriver(options);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-15
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        • 2022-01-22
        • 2013-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多