Beautiful Soup

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Beautiful Soup
Тип HTML parser library, Web scraping
Автори Леонард Річардсон
Перший випуск 2004
Стабільний випуск reference (P348; тому (P348))
Платформа Python
Мова програмування Python
Ліцензія Python Software Foundation License (Beautiful Soup 3 - an older version) MIT License 4+[1]
Онлайн-документація crummy.com/software/BeautifulSoup/bs4/doc/
Репозиторій code.launchpad.net/beautifulsoup/
Вебсайт www.crummy.com/software/BeautifulSoup/

Beautiful Soup — це модуль Python для аналізу HTML і XML документів. Він створює дерево аналізу для розібраних сторінок, яке можна використовувати для вилучення даних з HTML,[2] що часто використовують для вебскрапінгу.

Beautiful Soup був започаткований Леонардом Річардсоном, який і продовжує робити свій внесок [3], проект додатково підтримується завдяки Tidelift, платній підписці на підтримку проектів з відкритим кодом.[4]

Модуль доступний для Python 2.7 і Python 3.

#!/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', '/'))

Переваги та недоліки парсерів[ред. | ред. код]

Ця таблиця підсумовує переваги та недоліки кожної бібліотеки аналізаторів [1]

Parser Typical usage Advantages Disadvantages
Python’s html.parser BeautifulSoup(markup, "html.parser")
  • Moderately fast
  • Гнучкий (Для Python 2.7.3 та 3.2.)
  • Не такий швидкий, як lxml, не такий гнучкий, як html5lib
lxml’s HTML parser BeautifulSoup(markup, "lxml")
  • Дуже швидкий
  • Гнучкий
  • Зовнішня C залежність
lxml’s XML parser

BeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup, "xml")

  • Дуже швидкий
  • Єдиний парсер XML на даний момент
  • Зовнішня C залежність
html5lib BeautifulSoup(markup, "html5lib")
  • Дуже гнучкий
  • Парсер працює по аналогії з браузером
  • Створює правильний HTML5
  • Дуже повільний
  • Зовнішня Python залежність

Реліз[ред. | ред. код]

Beautiful Soup 3 був офіційним релізом Beautiful Soup з травня 2006 року по березень 2012 року. Поточна версія Beautiful Soup 4.x. [Архівовано 16 березня 2022 у Wayback Machine.] Beautiful Soup 4 можна встановити за допомогою pip install beautifulsoup4.

Посилання[ред. | ред. код]

  1. а б Beautiful Soup website. Архів оригіналу за 3 лютого 2017. Процитовано 18 квітня 2012. Beautiful Soup is licensed under the same terms as Python itself
  2. Hajba, Gábor László (2018), Hajba, Gábor László (ред.), Using Beautiful Soup, Website Scraping with Python: Using BeautifulSoup and Scrapy (англ.), Apress: 41—96, doi:10.1007/978-1-4842-3925-4_3, ISBN 978-1-4842-3925-4
  3. Code : Leonard Richardson. Launchpad (англ.). Архів оригіналу за 30 квітня 2021. Процитовано 19 вересня 2020.
  4. Tidelift. beautifulsoup4 | pypi via the Tidelift Subscription. tidelift.com (англ.). Архів оригіналу за 8 листопада 2021. Процитовано 19 вересня 2020.