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

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

webfanat вконтакте webfanat youtube

BeautifulSoup4 python

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)

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

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

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

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

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

вк

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

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

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

ArthurStarl

01:30 03-07-2020

привет

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm