Aspose.HTML FOSS for Python — це безкоштовна, з відкритим вихідним кодом бібліотека для роботи з HTML документами у Python застосунках. Встановіть її за допомогою однієї команди git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git і почніть парсити розмітку в модель об’єктного документа, будувати та змінювати дерева елементів, підключати CSS таблиці стилів, обчислювати обчислені стилі та працювати з URL-адресами і кодуваннями символів — все це у чистому Python без залежності від браузера.
Бібліотека надає орієнтований на стандарти API, побудований навколо HTMLDocument, Document, Element та CSSStyleSheet. Парсите розмітку за допомогою HTMLDocument.parse(), створюйте та з’єднуйте вузли за допомогою Document.create_element() та append_child(), знаходьте елементи за допомогою get_element_by_id(), стилізуйте їх через CSSStyleSheet.replace_sync() та декларацію style на рівні елементу, і читайте результат за допомогою Element.get_computed_style(). Нижчі будівельні блоки — HTML Tokenizer, TreeBuilder, WHATWG-style URL і URLSearchParams, а також детектор потокових байтів detect_encoding() — доступні, коли потрібен прямий контроль.
Aspose.HTML FOSS має ліцензію MIT і реалізована у чистому Python, вимагаючи Python 3.10 або новішої версії. Вона працює ідентично на Windows, Linux та macOS — включаючи CI-виконавці, Docker-контейнери та безсерверні середовища. Для сімейства корпоративних продуктів дивіться Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() або фрагменти за допомогою HTMLDocument.parse_fragment()Document.create_element() та append_child()Document.get_element_by_id() і читати атрибути розмітки через Element.get_attribute()Element.set_attribute() і призначати текст через Node.text_contentserialise()CSSStyleSheet.replace_sync() і приєднати його через Document.attach_style_sheet()style за допомогою CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() або Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() та URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()Створіть документ, підключіть таблицю стилів і прочитайте обчислений стиль — селектор ID переважає правило класу:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))
Вбудовані декларації мають вищу специфічність, ніж правила таблиці стилів автора:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
inline = el.style
inline.set_property("color", "blue")
print(el.get_computed_style().get_property_value("color"))
Визначте кодування необробленого потоку байтів, включаючи BOM, і отримайте декодований текст назад:
from aspose_html.encoding.detection import detect_encoding
result = detect_encoding(b"\xef\xbb\xbf<p>x</p>")
print(result.encoding)
print(result.confidence)
print(result.text)
Ліцензія MIT — комерційне використання, модифікація та розповсюдження дозволені; єдина вимога — зберігати повідомлення про авторські права у суттєвих копіях.
Python 3.10 або новішою. Встановіть за допомогою git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — реалізація є чистим Python без нативних залежностей.
Використовуйте HTMLDocument.parse() для повних сторінок або HTMLDocument.parse_fragment() для часткової розмітки; Document — це фабрика для програмного створення дерев.
Так — обчислені значення слідують специфічності селекторів, inline-оголошення переважають правила автора, правила автора !important переважають не-важливі inline-оголошення, і успадкування передається від батька до дитини.
Ні. Поточний випуск зосереджений на парсингу, маніпуляції DOM, обчисленні стилів CSS, структурах макету, URL-адресах та кодуваннях — без конвертації форматів або рендерингу image/PDF.
Ні. Парсинг ніколи не виконує скрипти; оцінка є явною та вмикається за згодою через JSContext з завантаженням модулів, контрольованим ModuleRegistry та ModuleLoadPolicy.