我在芹菜队列中使用Selenium PhantomJS webdriver,并且有两个并发工作者。
虽然我只有两个并发工作者,但我经常在活动监视器中获得大约50个PhantomJS进程,内存占用量很大。即使我调用driver.quit()
方法,这些过程也似乎无法正常关闭。
我的代码如下:
class Scrape:
def __init__(self):
self.driver = webdriver.PhantomJS()
self.driver.implicitly_wait(10)
self.driver.set_window_size(1280, 800)
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.driver.quit()
我在with
语句中使用它以确保正确清理。但它似乎没有效果。关于如何改进这个的任何想法?
答案 0 :(得分:3)