Beautiful Soup: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Вилучено вміст Додано вміст
Створено шляхом перекладу сторінки «Beautiful Soup (HTML parser)»
(Немає відмінностей)

Версія за 11:54, 16 березня 2022

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] що часто використовують для вебскрапінгу . [1]

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. Beautiful Soup 4 можна встановити за допомогою pip install beautifulsoup4 .

  1. а б в Beautiful Soup website. Процитовано 18 April 2012. Beautiful Soup is licensed under the same terms as Python itself Помилка цитування: Некоректний тег <ref>; назва «crummy.com» визначена кілька разів з різним вмістом
  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 (англ.). Процитовано 19 вересня 2020.
  4. Tidelift. beautifulsoup4 | pypi via the Tidelift Subscription. tidelift.com (англ.). Процитовано 19 вересня 2020.