CoderCastrov logo
CoderCastrov
Парсер

Парсинг веб-страниц на Python с использованием BeautifulSoup

Парсинг веб-страниц на Python с использованием BeautifulSoup
просмотров
4 мин чтение
#Парсер
Python 3

Привет всем!

Веб-разработка постепенно развивается, и каждый день происходят изменения. Каждый день разрабатываются новые веб-приложения с использованием новых технологий и методов. Сегодня мы поговорим об одной из них - о Python.

Python - популярный язык программирования, который имеет активные сообщества. Python предоставляет нам множество техник для парсинга веб-страниц. Кроме того, у него есть отличная документация и библиотеки для этого. Мы собираемся создать базовый проект для парсинга данных с любого веб-сайта. Я могу порекомендовать использовать CoLab, чтобы легко разрабатывать проекты на Python, вам не понадобится ничего еще для разработки. Вы можете найти его на своем Google Drive.

Сначала я покажу вам, как создать проект на Python в вашей студии CoLab.

  • Перейдите на свой диск
  • Нажмите кнопку "Новый"
Нажмите кнопку 'Новый' на вашем диске
  • Затем найдите опцию "Другое" и выберите "Google Colaboratory"
Выберите 'Google Colaboratory'
  • Теперь вы создали свой первый проект CoLab для разработки на Python.
Вы готовы разрабатывать
  • Теперь вы готовы разрабатывать, давайте начнем парсить некоторые данные!

Мы собираемся импортировать некоторые библиотеки, такие как request и BeautifulSoup. BeautifulSoup - это полезная библиотека для парсинга, которая позволяет нам находить HTML-теги в HTML-контенте.

  • Импортируем библиотеку Request и будем использовать ее для загрузки HTML-контента веб-сайта.
Импорт библиотеки REQUEST
  • Затем мы импортируем BeautifulSoup
**BeautifulSoup готов**

Теперь мы готовы получить веб-страницу.

Наш HTML-контент будет взят с сайта "http://sancar.org/aziz-sancar/". Мы получим этот контент в виде HTML в наш проект на Python. Затем мы сможем парсить его.


  • Запрос к веб-сайту, указанному выше.
Запрос к веб-сайту
  • Если вы выведете переменную "r", вы увидите результат <Response [200]>, что означает, что наш запрос прошел успешно.
  • Теперь давайте получим HTML-теги с помощью BeautifulSoup
BeautifulSoup в Python
  • Теперь мы получили наши HTML-теги с помощью BeautifulSoup, и наш HTML-контент готов. Мы собираемся его распечатать и увидеть HTML-контент.
HTML-контент в Python

Как вы видите выше, мы распечатали наш HTML-контент, который был создан с помощью BeautifulSoap. На фотографиях мы отображаем теги div, p и ul. Мы можем получить доступ ко всему этому, используя их название тега, id, класс или любые другие атрибуты. Давайте посмотрим, как мы это делаем.


  • Во-первых, мы собираемся получить заголовок веб-сайта с помощью имени класса. Прежде чем это сделать, давайте посмотрим, как выглядит этот веб-сайт!
sancar.org
  • Нам нужно получить заголовок веб-сайта "AZIZ SANCHAR / BIO". Теперь давайте посмотрим на тег заголовка и его имя класса.
  • Щелкните правой кнопкой мыши и отобразите исходный код HTML веб-сайта
html title
  • Мы нашли тег заголовка, "entry-title", который находится внутри тега <h1>. Мы собираемся использовать функцию BeautifulSoap "find_all", чтобы получить тег h1. Она будет искать имя класса и тег h1 во всем HTML-контенте и загрузит его в переменную "title".
  • Ниже вы видите наш результат.
Результат тега h1
  • Теперь нам нужно получить чистое значение заголовка, как "Aziz Sancar". Мы собираемся использовать функцию "text" для этого.
  • Метод find_all возвращает нам массив, и нам нужно использовать его индекс, чтобы получить чистый текст. Как вы видите ниже, мы смогли распечатать текст заголовка записи с помощью этого метода.
Метод text
  • Теперь мы можем получить тег p в HTML-контенте без указания имени класса, как было сделано выше. Мы будем использовать find_all и цикл for, чтобы распечатать весь контент без HTML-тегов. Мы также будем использовать счетчик индекса в качестве переменной "i" в нашем проекте.
Содержимое тега p
  • Мы сделали это. Теперь мы получаем весь текст тегов p из HTML-контента, очищая его. Вы получили все данные с реального веб-сайта. Что бы вы ни хотели, вы можете управлять этими данными. Вы можете сохранить их в свою базу данных, проводить текстовый анализ или делать все, что вам нужно.

Как вы видите в нашем базовом проекте, BeautifulSoup действительно полезен и легок в использовании. Вы можете разрабатывать более мощные скрипты или проекты. Это действительно потрясающая техника для сбора данных.

Ниже я поделюсь исходным кодом всего проекта, вы можете попрактиковаться или улучшить его.

Спасибо за все!

Наслаждайтесь кодом!

Enver ŞANLI - веб-разработчик, общественный мыслитель и фермер

Ресурсы:

Документация Beautiful Soup - Beautiful Soup 4.9.0 документация

Beautiful Soup - это библиотека Python для извлечения данных из HTML и XML файлов. Она работает с вашим любимым парсером для...

www.crummy.com