Threading и selenium - Python

Узнай цену своей работы

Формулировка задачи:

Приветствую форумчан, никак не могу понять, в чем проблема. Собственно, вот мой код:
Листинг программы
  1. import threading
  2. from queue import Queue
  3. from selenium import webdriver
  4. #driver = webdriver.PhantomJS(executable_path=r'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
  5. #driver = webdriver.Firefox(executable_path=r'C:\geckodriver\geckodriver.exe')
  6. class visiter(threading.Thread):
  7. def worker():
  8. url = my_urls.get()
  9. driver = webdriver.Firefox(executable_path=r'C:\geckodriver\geckodriver.exe')
  10. driver.get(url)
  11. urls.task_done()
  12. urls = ['https://www.python.org/',
  13. 'http://www.cyberforum.ru/',
  14. 'http://deer.io/',
  15. 'https://www.google.com.ua/'
  16. ]
  17. my_urls = Queue()
  18. for url in urls:
  19. my_urls.put(url)
  20. thread1 = visiter()
  21. thread2 = visiter()
  22. thread1.start()
  23. thread2.start()
По задумке, ссылки должны открываться в 2 созданных мною потоках, однако при запуске программы проходит несколько секунд и мне показывает, что она выполнена (хотя даже браузеры не были открыты!), даже ошибок нет. В чем может быть проблема?
В общем, кое-что поменял на 26 и 27 строке кода:
Листинг программы
  1. thread1 = visiter.worker()
  2. thread2 = visiter.worker()]
В итоге запускает браузеры (но почему-то не в 2 потока, а по очереди), в каждом запущенном открывает по одной ссылке, а потом выбивает ошибку, что "NoneType object has no attribute "start"". Ну и еще подправил ошибку на строке 13, правильно
Листинг программы
  1. my_urls.task_done()
. В чем моя ошибка?

Решение задачи: «Threading и selenium»

textual
Листинг программы
  1. from multiprocessing import Pool
  2.  
  3. def printer(word):
  4.     print(word)
  5.  
  6. if __name__ == '__main__':
  7.     words = ['green', 'blue', 'yellow', 'pink']
  8.     pool = Pool(5)
  9.     pool.map(printer, words)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут