Как выбрать кнопку «Загрузить больше результатов» при очистке с использованием Python и lxml

#python #web-scraping #lxml

#python #веб-очистка #lxml

Вопрос:

Я очищаю веб-страницу. Веб-страница состоит из 50 записей. После 50 записей появляется кнопка «Загрузить больше результатов». Мне нужно автоматически выбрать его. Как я могу это сделать. Для очистки я использую Python, Lxml.

Ответ №1:

Даже JavaScript использует http-запросы для получения данных, поэтому одним из способов было бы выяснить, какие запросы предоставляют данные, когда пользователь просит «Загрузить больше результатов» и эмулировать эти запросы.

Это не традиционная очистка, которая основана на простом или отображаемом HTML-контенте и обнаружении дополнительных ссылок, но может быть рабочим решением.

Следующие действия:

  • посетите страницу в Google Chrome или Firefox
  • нажмите F12, чтобы запустить инструменты разработчика или Firebug
  • переключитесь на вкладку «Сеть»
  • нажмите «Загрузить больше результатов»
  • проверьте, какие http-запросы предоставили данные для загрузки дополнительных результатов и какие данные они возвращают.
  • попробуйте эмулировать эти запросы из Python

Обратите внимание, что данные не обязательно представлены в форме HTML или XML, но могут быть в формате JSON. Но Python предоставляет достаточно инструментов и для обработки этого формата.

Ответ №2:

Вы не можете этого сделать. Функциональность обеспечивается javascript, который lxml не будет выполняться.