CoderCastrov logo
CoderCastrov
Основы BeautifulSoup
просмотров
1 мин чтение
#Разработка веб-сайтов

BeutifulSoup - это библиотека Python, которая позволяет извлекать данные из HTML или XML. BeautifulSoup не является парсером, он оборачивает парсер, чтобы облегчить работу с ним.

Извлечение данных с веб-сайта называется парсингом.

Я собираюсь рассказать о основах BeautifulSoup здесь.

Как использовать BeautifulSoup

Во-первых, вам нужно установить BeautifulSoup на свой компьютер.

$ pip install beautifulsoup4

Получение HTML выполняется с помощью requests, а разбор выполняется обычно с помощью BeautifulSoup.

import requests # для получения объекта HTML
from bs4 import BeautifulSoup

# отправляем запрос на целевой URL и получаем HTML
res = requests.get('http://google.com/')

# создаем объект BeautifulSoup из полученного ответа
soup = BeautifulSoup(res.text, 'html.parser')

# получаем текст в теге title
title_text = soup.find('title').get_text()
print(title_text)
# > GOOGLE

# получаем все ссылки на странице
links = [url.get('href') for url in soup.find_all('a')]
print(links)
# > ['/', '/login', и т.д....

# получаем все элементы div с классом 'quote'
quote_elms = soup.find_all('div', {'class': 'quote'})
print(len(quote_elms))

Извлечение текста из CSS селектора

Код выше показывает основной поток извлечения текста из HTML.

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

soup.select('div.quote small.author')

.select может извлекать HTML объекты, используя CSS селектор. Вы можете найти целевой HTML объект в Google, нажав на цель и выбрав "inspect".

Внимание

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