Как выполнить многопоточную программу Selen в Python? - PullRequest
0 голосов
/ 18 января 2019

Я хотел бы выполнить следующий код, используя многопоточное решение

Кто-нибудь может подсказать, как улучшить решение?

from selenium import webdriver

with open('proxy.txt', 'r') as f: 
    for line in f:
        print ("Connected with IP: {}".format(line))
        PROXY = line # IP:PORT or HOST:PORT
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument('--proxy-server=http://%s' % PROXY)
        driver = webdriver.Chrome(chrome_options=chrome_options)
        driver.get("http://whatismyipaddress.com")
        driver.quit()

1 Ответ

0 голосов
/ 18 января 2019
import os 
from multiprocessing import Pool

from selenium import webdriver

def check_ip(proxy):
    print ("Connected with IP: {}".format(proxy))
    options = webdriver.chrome.options.Options()
    options.add_argument('--proxy-server=http://{}'.format(proxy))
    driver = webdriver.Chrome(options=options)
    driver.get("http://whatismyipaddress.com")
    driver.quit()

if __name__ == '__main__':
    with open('./proxy.txt') as f:
        proxies = f.read().splitlines()
    with Pool() as pool:
        pool.map(check_ip, proxies)

Решение основано на ответе на этот вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...