Python 2.7 如何为workers分配需要用户名-密码和自定义用户代理的代理?

Python 2.7 如何为workers分配需要用户名-密码和自定义用户代理的代理?,python-2.7,selenium-webdriver,phantomjs,gevent,ghostdriver,Python 2.7,Selenium Webdriver,Phantomjs,Gevent,Ghostdriver,如何使用Selenium、PhantomJS驱动程序和Python绑定为workers分配一个需要用户名-密码和自定义用户代理的代理 我已经成功地创建了许多遍历我的测试网站的工作人员。我还可以分配不需要授权的用户代理或代理。但是我还没有弄明白如何同时对同一个工人做这两件事 然而,目前真正的问题是为需要用户名和密码授权的工作人员分配代理 球员们: Selenium 2.33.0/PhantomJS 1.9.1/Python 2.7.3/Ubuntu 12.04 我: 努贝。Python周,Linu

如何使用Selenium、PhantomJS驱动程序和Python绑定为workers分配一个需要用户名-密码和自定义用户代理的代理

我已经成功地创建了许多遍历我的测试网站的工作人员。我还可以分配不需要授权的用户代理或代理。但是我还没有弄明白如何同时对同一个工人做这两件事

然而,目前真正的问题是为需要用户名和密码授权的工作人员分配代理

球员们: Selenium 2.33.0/PhantomJS 1.9.1/Python 2.7.3/Ubuntu 12.04

我: 努贝。Python周,Linux日,Selenium小时,PhantomJS-=,所以第一篇文章

搜索结果:

事实上,答案可能就在那里,还有许多其他我读过又读过的地方,但在我目前的水平上,我无法把这些点联系起来

用这种方法解决了用户代理问题

dcap = dict(DesiredCapabilities.PHANTOMJS)           
dcap["phantomjs.page.settings.userAgent"] = (
                "Any User Agent string here”)
driver = webdriver.PhantomJS(desired_capabilities=dcap)
未经授权的代理可用于:

service_args = [
    '--proxy=127.0.0.1:9999',
    '--proxy-type=http,
    ]
driver = webdriver.PhantomJS('/usr/local/bin/phantomjs,service_args=service_args)
如果使用上述两种方法,我不确定如何将代理和UA传递给PhantomJS驱动程序。ATM我只能做一件或另一件事,根本不需要授权的代理

此SO线程的目标:

  • 了解如何分配需要用户名/密码的代理
  • 将自定义用户代理分配给同一工作者
  • 使用Selenium,PhantomJS驱动程序和Python绑定

    游戏的最终目标是为每个工人分配一个唯一的ip,并从用户代理池中提取。为此创建逻辑,我仍然保持乐观,但授权代理目前正在踢我

    正如你所说的,我对所有这些都很陌生,非常感谢对这个特殊问题的任何帮助和例子

    谢谢

    编辑:下面接受的答案不正确。无法复制以下解决方案。只有具有授权的代理被分配给驱动程序。仍然无法将代理和用户代理分配给同一驱动程序

    任何帮助或指导都将不胜感激


    EDIT.02:问题已解决。这从来不是编码问题。服务器级别的新代理提供程序分配了一个覆盖上述脚本的默认UA。删除后,一切正常。

    按所需功能分配用户代理

    dcap = dict(DesiredCapabilities.PHANTOMJS)           
    dcap["phantomjs.page.settings.userAgent"] = (
        "Your User Agent String here . . .")
    
    .
    将“-proxy auth=username:password”添加到服务器参数。像

    service_args = [
        '--proxy=xxx.xxx.xx.xxx:xxxx',
        '--proxy-auth=username:password',
        '--proxy-type=http',
        ] 
    
    然后在启动webdriver时使用这两种方法

    driver = webdriver.PhantomJS(desired_capabilities=dcap,service_args=service_args)
    
    这解决了我所有的问题

    编辑:无法复制解决方案。仅使用上述方法更改代理

    EDIT.02:问题已解决。这从来不是编码问题。服务器级别的新代理提供程序分配了一个覆盖上述脚本的默认UA。一旦这被移除,一切都很好