Найти в Дзене
SoftSAR

Парсинг сайта на Python

В данной статье мы рассмотрим методы парсинга web страниц средствами Python.

Парсинг это метод извлечения данных с веб-сайтов, их систематизация, обработка и хранение.

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

Python поставляется удобные инструменты для парисинга данных и их последующей обработки. Для парсинга данных чаще всего используется библиотека Selenium, для дальнейшей обработки данных применяются следующие библиотеки: NumPy, Matplotlib, Pandas и др.

Процесс парсинга веб страницы можно представить в виде следующей схемы.

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

Используемые инструменты: Python, Selenium для получения веб страницы, BeautifulSoup и html5lib для извлечение информации из HTML страницы, Openpyxl для сохранения данных в файл Excel.

1) Устанавливаем необходимые библиотеки через командную строку:

pip install selenium
pip install bs4
pip install html5lib
pip install openpyxl

2) Импортируем необходимые для работы библиотеки.

3) Переходим по URL управляя браузером с помощью Selenium. Более подробно о настройке библиотеки Selenium можно прочитать в статье Скриншот веб страницы. Если необходимо чтобы браузера открывался без графического интерфейса, добавляем опцию headless = True.

После установки и настройки необходимых библиотек и веб драйверов переходим непосредственно к парсингу сайта.

4) При необходимости авторизации на сайте используем инструменты Selenium для прохождения авторизации на сайте. Более подробно об авторизации на сайте рассказано в статье Автоматизация заполнения электронных форм на сайтах с помощью Python, Selenium.

После успешного авторизации перейдём на нужную страницу и получим HTML-содержимое страницы.

5) Получив содержимое HTML страницы, необходимо извлечь нужные данные. Извлечем содержимое с помощью библиотек BeautifulSoup и html5lib.

Находим теги, содержащие нужные значения а затем циклом проходим по элементам и печатаем значения.

Таким образом, мы с вами написали парсер сайта, используя инструменты Selenium, BeautifulSoup, html5lib. О том как работать с файлами Excel вы можете прочитать в статье Python работа с файлами Excel.

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am

Наука
7 млн интересуются