Красивый суп (парсер HTML)
Оригинальный автор(ы) | Леонард Ричардсон |
---|---|
Первоначальный выпуск | 2004 |
Стабильная версия | 4.12.3 [ 1 ] ![]() |
Репозиторий | |
Написано в | Питон |
Платформа | Питон |
Тип | Библиотека парсера HTML , парсинг веб-страниц |
Лицензия |
|
Веб-сайт | www |
Beautiful Soup — это пакет Python для анализа документов HTML и XML , в том числе с неправильной разметкой. Он создает дерево разбора документов, которое можно использовать для извлечения данных из HTML. [ 3 ] что полезно для парсинга веб-страниц . [ 2 ] [ 4 ]
История
[ редактировать ]Компания Beautiful Soup была основана в 2004 году Леонардом Ричардсоном. [ нужна ссылка ] Свое название он получил от стихотворения « Красивый суп» из «Приключений Алисы в стране чудес». [ 5 ] и является отсылкой к термину « суп тегов », означающему плохо структурированный HTML-код. [ 6 ] Ричардсон продолжает вносить свой вклад в проект. [ 7 ] который дополнительно поддерживается платными сопровождающими с открытым исходным кодом от компании Tidelift. [ 8 ]
Версии
[ редактировать ]Beautiful Soup 3 был официальной версией Beautiful Soup с мая 2006 по март 2012 года. Текущая версия — Beautiful Soup 4.x.
В 2021 году поддержка Python 2.7 была прекращена, и версия 4.9.3 стала последней, поддерживающей Python 2.7. [ 9 ]
Использование
[ редактировать ]Beautiful Soup представляет проанализированные данные в виде дерева, по которому можно осуществлять поиск и перебор с помощью обычных циклов Python . [ 10 ]
Пример кода
[ редактировать ]В приведенном ниже примере используется стандартной библиотеки Python. urllib [ 11 ] для загрузки главной страницы Википедии , а затем использует Beautiful Soup для анализа документа и поиска всех ссылок внутри.
#!/usr/bin/env python3
# Anchor extraction from HTML document
from bs4 import BeautifulSoup
from urllib.request import urlopen
with urlopen('https://en.wikipedia.org/wiki/Main_Page') as response:
soup = BeautifulSoup(response, 'html.parser')
for anchor in soup.find_all('a'):
print(anchor.get('href', '/'))
Другой пример — использование библиотеки запросов Python. [ 12 ] чтобы получить элементы div по URL-адресу.
import requests
from bs4 import BeautifulSoup
url = 'https://wikipedia.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
headings = soup.find_all('div')
for heading in headings:
print(heading.text.strip())
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ https://git.launchpad.net/beautifulsoup/tree/CHANGELOG . Проверено 18 января 2024 г.
{{cite web}}
: Отсутствует или пусто|title=
( помощь ) - ^ Перейти обратно: а б «Сайт «Красивый суп»» . Проверено 18 апреля 2012 г.
Beautiful Soup лицензируется на тех же условиях, что и сам Python.
- ^ Хайба, Ласло Габор (2018), Хайба, Ласло Габор (ред.), «Использование Beautiful Soup», Парсинг веб-сайтов с помощью Python: использование BeautifulSoup и Scrapy , Apress, стр. 41–96, номер домена : 10.1007/978-1-4842-3925-4_3 , ISBN. 978-1-4842-3925-4
- ^ Питон, настоящий. «Красивый суп: создайте веб-скребок с помощью Python — настоящий Python» . RealPython.com . Проверено 1 июня 2023 г.
- ^ маккорпс (13 декабря 2022 г.). «Учебное пособие по BeautifulSoup: давайте очистим веб-страницы с помощью Python» . Проверено 24 января 2024 г.
- ^ «Парсинг веб-страниц Python» . Удасити . 11 февраля 2021 г. Проверено 24 января 2024 г.
- ^ «Код: Леонард Ричардсон» . Панель запуска . Проверено 19 сентября 2020 г.
- ^ Тайлифт. «beautifulsoup4 | pypi через подписку Tidelift» . tidelift.com . Проверено 19 сентября 2020 г.
- ^ Ричардсон, Леонард (7 сентября 2021 г.). «Красивый суп 4.10.0» . красивый суп . Группы Google . Проверено 27 сентября 2022 г.
- ^ «Как парсить веб-страницы с помощью Beautiful Soup и Python 3 | DigitalOcean» . www.digitalocean.com . Проверено 1 июня 2023 г.
- ^ Питон, настоящий. «urllib.request Python для HTTP-запросов — настоящий Python» . RealPython.com . Проверено 1 июня 2023 г.
- ^ Блог, СерпАпи. «Красивый суп: парсинг веб-страниц с помощью Python» . serpapi.com . Проверено 27 июня 2024 г.