我正在尝试使用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
解决方法答案 0 :(得分:0)
我发现,您可以使用Proxy
和tasks.result()[1].host
从tasks.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")