【问题标题】:Selenium Webdriver Firefox 52 Python select random proxy every runSelenium Webdriver Firefox 52 Python 每次运行都会选择随机代理
【发布时间】:2017-05-04 10:45:12
【问题描述】:

我尝试为 FireFox 上的每次运行设置一个新的随机代理。尝试了很多方法,但只有这一种有效,但无法弄清楚如何使其随机:

profile.set_preference("network.proxy.type", 1)
            profile.set_preference("network.proxy.http", "Host")
            profile.set_preference("network.proxy.http_port", port)
            browser = webdriver.Firefox(profile)

我尝试了这个例子,但没有成功:

from selenium.webdriver.common.proxy import *
myProxy = "xx.xx.xx.xx:xxxx"

proxy = Proxy({
    'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy': '' # set this value as desired
})  
driver = webdriver.Firefox(proxy=proxy)
driver.get("http://www.google.com")

这对我来说是最好的方式,因为我可以使用:

myProxy = random.choice(open('data.txt').readlines())

我试图从文本文件中获取代理,但不知道如何随机化:

with open('IPs.txt') as proxylist:
for line in proxylist: 
    proxyserv, proxyport = line.split(':') 
    proxy= proxyserv , proxyport 

最后我试过了:

def random_line():
line_num = 0
selected_line = ''
with open('IPs.txt') as f:
    while 1:
        line = f.readline()
        if not line: break
        line_num += 1
        if random.uniform(0, line_num) < 1:
            selected_line = line
return selected_line.strip() 

这一行得到随机行,但不知道如何将结果解析为 X= 知识产权 Y= 端口 然后:

profile.set_preference("network.proxy.type", 1)
        profile.set_preference("network.proxy.http", "RANDOM IP")
        profile.set_preference("network.proxy.http_port", Random PORT)
        browser = webdriver.Firefox(profile)

【问题讨论】:

  • 端口必须是整数。

标签: python selenium firefox selenium-webdriver proxy


【解决方案1】:

Port 需要是整数,你可以使用:

import random
myProxy = random.choice(open('IPs.txt').readlines())
parts = myProxy.strip().split(":") # strip removes spaces and line breaks
host = parts[0]
port = int(parts[1]) # port needs to be an integer

【讨论】:

    猜你喜欢
    • 2016-06-17
    • 1970-01-01
    • 2019-08-07
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    相关资源
    最近更新 更多