Помогите с многопоточностью на Python

Discussion in 'PHP' started by kapiton182, 12 Aug 2017.

  1. kapiton182

    kapiton182 New Member

    Joined:
    4 Apr 2017
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Состряпал прокси чекер, не могу понять как организовать многопоточность, вот чтобы, к примеру запускало сразу 5 вебдрайверов и 5 прокси брало из массива на проверку. Помогите, а то совсем не могу понять логики многопотока
    Code:
    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    
    def ProxyGet():
        a = open('proxy.txt', encoding='utf-8')
        fileProxy = a.readlines()
        proxy = []
        for s in fileProxy:
            string = s.rstrip()
            proxy.append(string)
        a.close()
        return proxy
    
    site = "https://yandex.ru"
    proxy = ProxyGet()
    proxy_base = open("good_proxy.txt", encoding='utf-8', mode='w')
    for i in proxy:
        try:
            args = [
            '--proxy=' + str(i),
            '--proxy-type=https',
            ]
            driver = webdriver.PhantomJS(service_args=args)
            driver.get(site)
            driver.wait = WebDriverWait(driver, 5)
            driver.find_element_by_link_text("Завести почту").click()
            proxy_base.write(i + "\n")
            driver.quit()
        except:
            driver.quit()
            continue
    proxy_base.close()
     
  2. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
  3. ZodiaX

    ZodiaX Reservists Of Antichat

    Joined:
    7 May 2009
    Messages:
    533
    Likes Received:
    308
    Reputations:
    51
    Файл с прокси помещаешь в очередь, всю обработку убираешь в функцию, циклом запускаешь потоки.
    Тут в первом комментарии практически аналогичная ситуация разжевана https://toster.ru/q/228537
     
    crlf likes this.