CoderCastrov logo
CoderCastrov
Парсер веб-страниц

Как парсить веб-страницы с бесконечной прокруткой? — Scraping-bot.io

Как парсить веб-страницы с бесконечной прокруткой? — Scraping-bot.io
просмотров
2 мин чтение
#Парсер веб-страниц

Некоторые страницы сложнее парсить, чем другие. В случае страниц с бесконечной прокруткой, парсинг может привести к неполному сбору данных.

Бесконечная прокрутка может быть способом предотвратить парсинг. Вы можете прочитать о других методах защиты от парсинга в этой статье.

Что такое страницы с бесконечной прокруткой и что делает их сложными для парсинга?

Если вы парсите URL веб-страницы, то соберете только данные первого видимого сегмента. Это также проблематично для веб-сканера, так как он не найдет URL следующих страниц.

Когда вы посещаете такую ​​веб-страницу, следующий контент автоматически загружается, когда вы достигаете конца страницы. Один из способов парсить HTML такой страницы может быть симуляция поведения человека с помощью специальных инструментов, таких как Splash или Selenium. Но есть более простые способы сделать это.

На самом деле, в бесконечно прокручиваемой странице есть пагинация, но она скрыта в HTML-коде. На классической странице пользователь нажимает на URL следующей страницы, тогда как здесь следующая страница вызывается динамически, когда вы посещаете конечную область веб-страницы.

Пример бесконечной прокрутки страницы:

Мы будем использовать эту страницу в качестве примера:

Как найти URL для парсинга в HTML-коде?

Сначала откройте инструменты разработчика вашего браузера. Для этого просто щелкните правой кнопкой мыши и выберите "Инспектировать элемент".

Перейдите на вкладку "Сеть". В большинстве случаев запросы, которые нас интересуют, будут отображаться во вкладке XHR. Прокрутите страницу до конца, чтобы вызвать следующий запрос на загрузку страницы. Вы увидите во вкладке "Сеть" некоторые запросы, выполняемые вашим браузером. Щелкните на одном из них, чтобы увидеть подробности.

Вот запросы, которые мы видим для этой страницы:

Если вы не видите никаких запросов во вкладке XHR, вернитесь к вкладке "Все" и выполните поиск по "Результаты".

Как видите, браузер вызывает следующие страницы.

Чтобы спарсить эти страницы, вам нужно вызывать их так же, как ваш браузер. Поэтому в конце URL добавьте /results?page=1

Таким образом, вы можете либо вручную парсить URL, либо адаптировать ваш веб-парсер, чтобы увеличивать номер страницы. Для этого ваш парсер должен генерировать запросы к URL и добавлять ?page=X в конец URL, пока запрос не вернет ошибку 404, что означает, что предыдущая страница была последней.


Посетите наш API Store ⬇️ https://www.scraping-bot.io/web-scraping-api-store/