Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

BeautifulSoup4 python

Всем привет. Сегодня мы познакомимся с модулем BeautifulSoup4 который позволяет производить парсинг данных в форматах html и xml. Итак, поехали!

В предыдущей статье посвященной python мы познакомились с модулем requests. Давайте воспользуемся этими знаниями и вернем исходный код главной страницы моего блога.

import requests

data = requests.get('https://webfanat.com/')

ptint(data.text)

Так отлично, мы вернули весь исходный код главной страницы моего блога и в принципе можем все это дело записать в файл, к примеру index.php

Но что если мы предварительно хотим внести в исходный код изменения или сохранить в файл определенную его часть. В этом то деле нам и поможет модуль BeautifulSoup4 который позволяет обрабатывать html и xml строки.

Для начала его нужно установить.

pip install beautifulsoup4

Я это сделал через утилиту pip.

Затем подключить.

import bs4

Все теперь мы можем пользуясь данным модулем обработать полученные данные.

К примеру мы хотим получить код заголовка h1.

data = requests.get('https://webfanat.com/')
dom = bs4.BeautifulSoup(data.text)
print(dom.select('h1'))

Здесь мы из исходного кода получили заголовок h1. С помощью метода BeautifulSoup() мы обработали строку с исходным кодом и подготовили ее для дальнейшей работы с модулем BeautifulSoup4. Затем используя метод select() получили заголовок h1.

Обратите внимание что данные вернулись к нам в виде списка.

В методе select() можно указывать не только теги, ну и основные селекторы css(классы и идентификаторы).

print(dom.select('.color_red'))

Здесь нам вернулся список элементов имеющих класс color_red.

Если мы хотим получить текст выбранных элементов достаточно воспользоваться методом getText().

print(dom.select('h1')[0].getText())

C помощью метода getText() мы получили текст тега h1. Обратите внимание что данным метод применим только к строкам. Поэтому прежде чем его использовать необходимо извлечь строку из списка. Я это сделал просто указав ключ 0.

print(dom.select('h1')[0].getText())

C помощью свойства attrs можно получить атрибуты выбранного элемента.

print(dom.select('a[title="vkontakte"]')[0].attrs)

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

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

документации

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

На этом данная статья подошла к концу. Если у вас остались вопросы пишите их в комментариях или группе

вк

Я с вами прощаюсь. Желаю вам удачи и успехов! Пока.

Оцените статью

Еще статьи

Функция инвертирования цветов картинок в css

Group by sql

Таймеры JavaScript

Геолокация HTML

кодирование JavaScript

gitignore GIT

HTML Visibility

goto php

shelve python

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.