Парсинг веб-страниц на Python с использованием BeautifulSoup
Привет всем!
Веб-разработка постепенно развивается, и каждый день происходят изменения. Каждый день разрабатываются новые веб-приложения с использованием новых технологий и методов. Сегодня мы поговорим об одной из них - о Python.
Python - популярный язык программирования, который имеет активные сообщества. Python предоставляет нам множество техник для парсинга веб-страниц. Кроме того, у него есть отличная документация и библиотеки для этого. Мы собираемся создать базовый проект для парсинга данных с любого веб-сайта. Я могу порекомендовать использовать CoLab, чтобы легко разрабатывать проекты на Python, вам не понадобится ничего еще для разработки. Вы можете найти его на своем Google Drive.
Сначала я покажу вам, как создать проект на Python в вашей студии CoLab.
- Перейдите на свой диск
- Нажмите кнопку "Новый"
- Затем найдите опцию "Другое" и выберите "Google Colaboratory"
- Теперь вы создали свой первый проект CoLab для разработки на Python.
- Теперь вы готовы разрабатывать, давайте начнем парсить некоторые данные!
Мы собираемся импортировать некоторые библиотеки, такие как request и BeautifulSoup. BeautifulSoup - это полезная библиотека для парсинга, которая позволяет нам находить HTML-теги в HTML-контенте.
- Импортируем библиотеку Request и будем использовать ее для загрузки HTML-контента веб-сайта.
- Затем мы импортируем BeautifulSoup
Теперь мы готовы получить веб-страницу.
Наш HTML-контент будет взят с сайта "http://sancar.org/aziz-sancar/". Мы получим этот контент в виде HTML в наш проект на Python. Затем мы сможем парсить его.
- Запрос к веб-сайту, указанному выше.
- Если вы выведете переменную "r", вы увидите результат
<Response [200]>
, что означает, что наш запрос прошел успешно. - Теперь давайте получим HTML-теги с помощью BeautifulSoup
- Теперь мы получили наши HTML-теги с помощью BeautifulSoup, и наш HTML-контент готов. Мы собираемся его распечатать и увидеть HTML-контент.
Как вы видите выше, мы распечатали наш HTML-контент, который был создан с помощью BeautifulSoap. На фотографиях мы отображаем теги div, p и ul. Мы можем получить доступ ко всему этому, используя их название тега, id, класс или любые другие атрибуты. Давайте посмотрим, как мы это делаем.
- Во-первых, мы собираемся получить заголовок веб-сайта с помощью имени класса. Прежде чем это сделать, давайте посмотрим, как выглядит этот веб-сайт!
- Нам нужно получить заголовок веб-сайта "AZIZ SANCHAR / BIO". Теперь давайте посмотрим на тег заголовка и его имя класса.
- Щелкните правой кнопкой мыши и отобразите исходный код HTML веб-сайта
- Мы нашли тег заголовка, "entry-title", который находится внутри тега
<h1>
. Мы собираемся использовать функцию BeautifulSoap "find_all", чтобы получить тег h1. Она будет искать имя класса и тег h1 во всем HTML-контенте и загрузит его в переменную "title". - Ниже вы видите наш результат.
- Теперь нам нужно получить чистое значение заголовка, как "Aziz Sancar". Мы собираемся использовать функцию "text" для этого.
- Метод find_all возвращает нам массив, и нам нужно использовать его индекс, чтобы получить чистый текст. Как вы видите ниже, мы смогли распечатать текст заголовка записи с помощью этого метода.
- Теперь мы можем получить тег p в HTML-контенте без указания имени класса, как было сделано выше. Мы будем использовать find_all и цикл for, чтобы распечатать весь контент без HTML-тегов. Мы также будем использовать счетчик индекса в качестве переменной "i" в нашем проекте.
- Мы сделали это. Теперь мы получаем весь текст тегов p из HTML-контента, очищая его. Вы получили все данные с реального веб-сайта. Что бы вы ни хотели, вы можете управлять этими данными. Вы можете сохранить их в свою базу данных, проводить текстовый анализ или делать все, что вам нужно.
Как вы видите в нашем базовом проекте, BeautifulSoup действительно полезен и легок в использовании. Вы можете разрабатывать более мощные скрипты или проекты. Это действительно потрясающая техника для сбора данных.
Ниже я поделюсь исходным кодом всего проекта, вы можете попрактиковаться или улучшить его.
Спасибо за все!
Наслаждайтесь кодом!
Enver ŞANLI - веб-разработчик, общественный мыслитель и фермер
Ресурсы: