Я бегу phantomjs в режиме удаленного WebDriver с phantomjs --webdriver 8910
, а затем получить много страниц с использованием Селен питона привязок с чем-то вроде:Ограничить использование памяти phantomjs с помощью селен-webdriver?
wd = webdriver.PhantomJS(port=8910)
for url in big_url_list:
wd.get(url)
# do something here, e.g. wd.save_screenshot or print wd.page_source
wd.quit()
wd.quit()
, кажется, не делать ничего. Мониторинг процесса с помощью верхнего уровня показывает, что использование памяти в процессе phantomjs продолжает увеличиваться по мере того, как извлекается больше страниц. Если я перезапущу процесс phantomjs, то использование памяти опустится до минимума и начнет снова расти.
close method mentioned in the phantomjs docs звучит многообещающе, но я не вижу никакого способа назвать это через WebDriver protocol.
Существует ли способ сохранить использование памяти фантомами при выполнении многих запросов или (ii) надежный способ мониторинга и периодического перезапуска процесса phantomjs, чтобы память никогда не выходила из-под контроля?