Парсер Selenium. Как оптимизировать Chrome и Chromedriver?
использую Selenium и Chrome Driver, чтобы открывать две вкладки до нужной страницы и столкнулся вот с такой проблемой:
Во время прохода по страницам Chrome что-то сохраняет в озу и упорно не хочет это удалять, до того момента, пока не заполнит её полностью и не поломается(зависнет).
Я думал, что это кэш, что браузер запоминает все открытые за сессию вкладки и т.д. и т.п. поэтому чистил всё что только возможно очистить: кэш, куки, историю(пробовал и во время работы парсера); включал Disable cache и другие функции в Network, обнулял массивы, хранящие вкладки в коде, но ничего не помогло. Озу как заполнялась, так и продолжает. В итоге я уперся в +-250 записей в бд. А нужно спарсить Несколько тысяч.
Что делать?
Ответы (1 шт):
Путём наблюдений стало понятно, что ОЗУ заполняется из-за Chromedriver.exe
Решением стало создание счетчика с перезапуском драйвера каждые n записей. Пример моего счетчика:
i = -1
for d in url:
driver.get(d['href'])
href_stat = d.get('href')
i += 1
print (i)
if i == 20:
driver.quit()
chromedriver = "C:/Projects/parser/chromedriver"
driver = webdriver.Chrome(chromedriver)
driver.get(d['href'])
i = 0


