자주 묻는 질문
라이선스 및 오픈 소스
Aspose.HTML FOSS for Python 은 어떤 라이선스를 사용합니까?
이 라이브러리는 MIT License 하에 배포됩니다. 전체 텍스트는 LICENSE 파일이 GitHub 저장소.
상업용 제품에서도 사용할 수 있나요?
네. MIT 라이선스는 상업적 사용, 수정, 재배포 및 재라이선스를 허용합니다. 유일한 요구사항은 실질적인 복사본에 저작권 고지와 라이선스 텍스트를 포함하는 것입니다.
설치 및 요구 사항
라이브러리를 어떻게 설치하며, 지원되는 Python 버전은 어떤 것들이 있나요?
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git로 설치하십시오. 이 라이브러리는 Python 3.10 이상이 필요합니다; 현재 릴리스는 0.1.0입니다.
네이티브 종속성이 있나요?
아니요. 구현은 순수 Python이며 — 브라우저 엔진도 없고, 컴파일된 확장도 없습니다 — 따라서 Windows, Linux, macOS에서 동일하게 동작하며 CI 러너와 컨테이너에서도 마찬가지입니다.
API Usage
어떻게 HTML를 문서로 파싱합니까?
전체 페이지에는 HTMLDocument.parse()을 사용하고, 부분 마크업에는 HTMLDocument.parse_fragment()을 사용하십시오. 프로그래밍 방식으로 구성하려면 Document가 노드 팩토리입니다:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)어떻게 CSS를 적용하고 결과 스타일을 읽을 수 있습니까?
스타일시트 텍스트를 CSSStyleSheet.replace_sync()으로 파싱하고, Document.attach_style_sheet()으로 연결한 다음, Element.get_computed_style()로 해결된 결과를 읽으십시오:
from aspose_html.cssom import CSSStyleSheet
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))캐스케이드는 특이성과 !important를 올바르게 처리합니까?
예. 계산된 값은 선택자 특이성(ID > 클래스 > 타입)을 따르고, 인라인 선언은 작성자 규칙보다 우선하며, !important 작성자 규칙은 중요하지 않은 인라인 선언보다 우선합니다. 상속은 상속 가능한 속성에 대해 부모에서 자식으로 흐릅니다.
토크나이저와 트리 빌더를 직접 사용할 수 있나요?
예 — Tokenizer.tokenize()은 표준 토큰 스트림을 내보내고, TreeBuilder.run()은 트리 구성을 수행하며, parse_html()는 전체 파이프라인을 한 번의 호출로 감쌉니다.
URL 및 문자 인코딩을 어떻게 다루나요?
URL.parse()와 URL.can_parse()은 쿼리 문자열에 대해 URLSearchParams를 사용한 WHATWG 스타일의 URL 처리를 제공합니다. 원시 바이트의 경우, detect_encoding()은 인코딩, 신뢰도 수준, 그리고 디코딩된 텍스트를 반환합니다.
알려진 제한 사항
존재하지만 구현되지 않은 API가 있나요?
소수의 멤버가 선언되어 있지만 현재는 기능하지 않으며, 여기에는 CSSRule.type, CSSRule.css_text, HTMLImageElement.decode가 포함됩니다. 지식 모델의 limitations.md 파일이 이를 추적합니다; 의존하지 마세요.
라이브러리가 페이지를 렌더링하거나 다른 형식으로 변환합니까?
아니요. 현재 릴리스는 파싱, DOM 조작, CSS 스타일 계산, 레이아웃 구조, URL 및 인코딩에 중점을 둡니다. 형식 변환이나 이미지/PDF 렌더링 기능은 제공되지 않습니다.
파싱 중에 JavaScript가 자동으로 실행됩니까?
아니요. 파싱은 스크립트를 전혀 실행하지 않습니다. 스크립트 평가는 JSContext를 통해 명시적이며 선택적으로 이루어지며, 모듈 로드는 ModuleRegistry와 ModuleLoadPolicy에 의해 제어됩니다.