Запуск селена без головы с несколькими пауками

У меня много пауков-спайдеров, которые работают параллельно с использованием scrapyd. То, что я делаю, похоже на следующий код.

Мой вопрос: действительно ли мне нужно начинать показ для каждого паука и как водитель знает, чтобы начать использовать какой дисплей? Должен ли я просто запускать один дисплей по всему миру и запускать несколько экземпляров веб-диска внутри одного и того же Дисплея?

def __init__(self): dispatcher.connect(self.spider_closed, signals.spider_closed) def spider_closed(self, spider): if self.driver: self.driver.quit() if self.display: self.display.stop() def parse(self, response): self.display = Display(visible=0, size=(1024, 768)) self.display.start() self.driver = webdriver.Firefox() self.driver.get(response.url) page = Selector(text=self.driver.page_source) # doing all parsing etc 

One Solution collect form web for “Запуск селена без головы с несколькими пауками”

Вместо этого я предлагаю использовать обработчик браузера splinter ; это обертка вокруг селена. Он точно решает вашу проблему, так как обработка отображения выполняется пакетом.

С еще несколькими установками пакетов вы также можете удалить необходимость отображения в целом, то есть осколок теперь безголовый (окно браузера не открывается, и оно намного быстрее). Ознакомьтесь с документами Splinter, чтобы узнать, как сделать это без головы. Я лично предлагаю драйвер PhantomJS, хотя вам придется установить программу PhantomJS, отличную от Python.

Python - лучший язык программирования в мире.