Как ускорить парсинг данных с Python/Selenium?
Вместо chromedriver вы можете использовать phantomjs, это ускорит переход по страницам.
Но я практически на сто процентов уверен, что вам не нужен интерпретатор javascript, чтобы спарсить необходимые данные.
Если открывается popup без подгрузки данных (без ajax), значит данные находятся где-то в html и их можно спарить.
Если с подгрузкой, тогда нужно делать запрос напрямую (на тот url откуда загружаются данные).
На 100к ссылок, особенно если требуется их обходить достаточно часто (или на сервере ресурсов мало), есть уже смысл задумать о более кастомных (читай, напилить руками низкоуровневый механизм), но более быстрых механизмах. Как-то запросы на получение AJAX данных через curl. Или если данные получаться в рамтайме на клиенте через замудренный JS, то применить SpiderMonkey, V8 либо другие серверных движки.В общем чтобы пропарсить наверное миллион таких строк у меня уйдет месяц непрерывной работы селениума
Делал на кластере из PhantomJS парсер который должен был за 15 минут обходит чуть больше 1к страниц и парсить из них разные хитрые таблички. Требовалось что-то около десяти инстансов PhantomJS, 20 Гб ОЗУ и 16 ядер ЦПУ. На таком кластере 100к за сутки переварит реально.
Когда требование по времени ужесточилось до 5 минут, напилил на SpiderMonkey.element is not found
Нужно использовать wait(). Тогда дальше код будет выполняться когда на странице появиться нужный элемент.где нет кучи попапов, которые все надо прокликать
Наличие/отсутствие попапов не играет роли. Все, что появляется в DOM, все можно отработать. Регулярно тягаю данные с яндекс ворстата. Много там разных хитрых обработчиков. Но все силами PhantomJS-а через webdriver решается рано или поздно.Это действительно так?
Возможно.  Но так ли это в вашем контексте ни кто кроме эксперимента не скажет. Т.е. берем данное утверждение и проверяем в своей задаче парсинга.