자주 묻는 질문

자주 묻는 질문

라이선스 및 오픈 소스

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에 의해 제어됩니다.

참조

 한국어