CoderCastrov logo
CoderCastrov
Парсер

Альтернатива BeautifulSoup для парсинга

Альтернатива BeautifulSoup для парсинга
просмотров
2 мин чтение
#Парсер

В некоторых проектах по науке о данных мне было необходимо импортировать данные с веб-страниц или HTML-страниц (например, рейтинги фильмов, отзывы клиентов...), такие задачи очень скучны и не позволяют изучать новое.

Использование парсинга веб-страниц является лучшим решением для избавления от этих скучных задач. Когда я начал заниматься парсингом веб-страниц, я всегда использовал BeautifulSoup, который является очень хорошим решением, но в некоторых случаях эта библиотека достигала своих пределов и становилась неудобной.

В этой статье я представлю вам альтернативу BeautifulSoup с примерами. Эта альтернатива - Selenium.

Самое важное преимущество Selenium заключается в том, что вы можете получить доступ к динамическому контенту. Другими словами, если у вас есть контент, генерируемый с помощью JavaScript, то Selenium будет решением для его парсинга. Кроме того, вы можете комбинировать использование Selenium и BeautifulSoup. В этом случае Selenium предоставит исходный код, а BeautifulSoup разберет и проанализирует HTML-код.


I. BeautifulSoup не может парсить динамический контент

a. Как использовать BeautifulSoup Если вы уже знакомы с BeautifulSoup, вы можете пропустить эту часть. Здесь я приведу пример того, как его использовать и какие ограничения я столкнулся.

Sample of the output of scraping

Использование BeautifulSoup очень просто и позволяет нам импортировать данные из веб-страницы. Это хорошее решение для создания базы данных для моделей машинного обучения.

Но вопрос теперь в том, как получить правильный HTML-тег? В приведенном выше примере я использовал тег div с определенным именем класса. Лучшее решение для определения тега HTML и его имени - использовать инспектор веб-страницы.

В этом случае, например:

Web page after right click

Когда вы нажимаете Inspect, у вас появляется следующая страница:

Web page after Inspect click

Переходите к элементам HTML в верхнем правом углу, чтобы найти элементы, которые вы хотите спарсить, и тогда вы найдете имя тега и его класс.

HTML tag with class name

Теперь вы можете использовать BeautifulSoup по своему усмотрению.

II. Как использовать Selenium

Чтобы узнать, как использовать Selenium, вы можете перейти к этой предыдущей статье. В ней подробно объясняется, как это работает. Перейдите сюда.

Вывод:

Итак, парсинг очень прост, когда вы используете правильный инструмент. Иногда использование только одного инструмента недостаточно, но комбинирование двух инструментов, о которых мы рассказали выше, может быть лучшим решением. Selenium для избавления от проблем, связанных с динамическим контентом, и BeautifulSoup для извлечения данных.


Вы новичок на Medium? Не стесняйтесь подписаться за менее чем $5 здесь, чтобы получить неограниченные возможности и улучшить свои навыки.