这项工作不是从代理经纪人那里读取IP

时间:2017-11-17 01:56:00

标签: python regex python-3.x selenium proxy

我正在尝试使用Python将代理从代理代理导入Selenium。

这往往有效;但是我似乎每次和使用时都必须手动输入代理:

PROXY = " proxies" # IP:PORT or HOST:PORT 

它往往会产生问题而无法正确加载。

打印出来:

Found proxy: <Proxy CI 0.79s [HTTPS] 213.136.105.62:80>

我找不到任何文件来规避这个问题。我已经使用了正则表达式来试图绕过这一点,但无论如何都会出现同样的问题。

浏览器通常会启动,但之后无法导航,因为代理似乎无法正确加载。

mport asyncio
from proxybroker import Broker

async def show(proxies):
    while True:
        proxy = await proxies.get()
        if proxy is None: break
        print('Found proxy: %s' % proxy)

proxies = asyncio.Queue()
broker = Broker(proxies)
tasks = asyncio.gather(
    broker.find(types=['HTTPS', 'HTTPS'], limit=1),
    show(proxies))

loop = asyncio.get_event_loop()
loop.run_until_complete(tasks)
#185.106.121.97:1080>
#185.82.203.188:1080

#185.106.121.97

#Output: Found proxy: <Proxy CI 0.79s [HTTPS] 213.136.105.62:80>
#\d[1].*:*\d


PROXY = " proxies" # IP:PORT or HOST:PORT
#PROXY = " 35.187.234.217:80" # IP:PORT or HOST:PORT

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)

chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")



The regex is: \d[1].*:*\d

尝试使用Regex

解决方法

2 个答案:

答案 0 :(得分:0)

我发现,您可以使用Proxytasks.result()[1].hosttasks.result()[1].port类中获取IP和端口。

希望对某人有帮助。

答案 1 :(得分:0)

更改此:

print('Found proxy: %s' % proxy)

对此:

return str(proxy.host) + ":" + str(proxy.port)

创建ProxyBroker函数,并在网络驱动器之前调用它,如下所示:

def get_proxy(countries):
    import asyncio
    from proxybroker import Broker

    async def show(proxies):
        while True:
            proxy = await proxies.get()
            if proxy is None: break
            return str(proxy.host) + ":" + str(proxy.port)

    proxies = asyncio.Queue()
    broker = Broker(proxies)
    tasks = asyncio.gather(
        broker.find(types=['HTTPS'], countries=[countries], limit=1),
        show(proxies))

    loop = asyncio.get_event_loop()
    loop.run_until_complete(tasks)

代码将变成这样:

def get_proxy(countries):
    import asyncio
    from proxybroker import Broker

    async def show(proxies):
        while True:
            proxy = await proxies.get()
            if proxy is None: break
            return str(proxy.host) + ":" + str(proxy.port)

    proxies = asyncio.Queue()
    broker = Broker(proxies)
    tasks = asyncio.gather(
        broker.find(types=['HTTPS'], countries=[countries], limit=1),
        show(proxies))

    loop = asyncio.get_event_loop()
    loop.run_until_complete(tasks)

PROXY = get_proxy('US')" proxies" # IP:PORT or HOST:PORT
#PROXY = " 35.187.234.217:80" # IP:PORT or HOST:PORT

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)

chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")