Я работаю с Selenium в Python 2.7. Я получаю, что загрузка страницы и подобные вещи занимают гораздо больше времени, чем сырые запросы, потому что имитируют все, включая JS и т. Д.Selenium - разбор страницы занимает слишком много времени
Я не понимаю, что разбор уже загруженной страницы занимает слишком много времени.
Каждый раз, когда страница загружается, я обнаруживаю, что все теги удовлетворяют некоторому условию (около 30 тегов div), а затем я помещаю каждый тег в качестве атрибута в функцию синтаксического анализа. Для разбора я использую css_selectors и аналогичные методы: on.find_element_by_css_selector("div.carrier p").text
Насколько я понимаю, когда страница загружена, исходный код этой страницы сохраняется в моей ОЗУ или где-либо еще, так что синтаксический анализ должен выполняться в миллисекундах ,
EDIT: Я уверен, что разбор одного и того же исходного кода с использованием BeautifulSoup будет более чем в 10 раз быстрее, но я не понимаю, почему.
Есть ли у вас какие-либо объяснения? Thanks
Спасибо за разъяснения. Таким образом, он не отправляет запросы на настоящую веб-страницу в этом случае? –
@Milan каждый вызов 'find_element_by_ *' приведет к взаимодействию HTTP между вашим клиентом selenium python, сервером selenium и веб-сервером. Это то, что на самом деле замедляет работу. Я немного разъяснил это объяснение. Надеюсь, что все станет понятнее. Спасибо, хороший вопрос! – alecxe