Skip to content

API 레퍼런스

HTML 라이브러리는 다음 핵심 컴포넌트를 제공합니다:

컴포넌트설명문서
패키지 함수편의 함수, 일회성 호출에 적합패키지 함수
Processor프로세서 인스턴스, 리소스 및 캐시 재사용Processor
Config설정 구조체와 프리셋설정
출력 형식Markdown, JSON 출력출력 형식
링크 추출독립적인 링크 추출 API링크 추출
배치 처리동시성 배치 추출배치 처리
인터페이스Extractor, StatsProvider 등인터페이스 정의
타입Result, ImageInfo 등타입 정의
상수와 오류기본값, 센티넬 오류상수와 오류
보안 보호정제, 입력 제한, 경로 보안보안 보호
감사 시스템감사 파이프라인과 Sink감사 시스템

API 개요

두 가지 호출 모드

text
┌─────────────────────────────────────────┐
│         패키지 함수 (편의 모드)              │
│  html.Extract(data) → *Result, error    │
│  내부적으로 sync.Pool 로 Processor 재사용   │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│        Processor(인스턴스 모드)            │
│  p, _ := html.New(cfg)                  │
│  defer p.Close()                        │
│  result, err := p.Extract(data)         │
│  ✓ 캐시 재사용  ✓ 통계 수집  ✓ 감사 로그    │
└─────────────────────────────────────────┘

함수 명명 규칙

모드명명예시
기본Extract*Extract, ExtractText
파일에서Extract*FromFileExtractFromFile
컨텍스트 포함Extract*WithContextExtractWithContext
파일 + 컨텍스트Extract*FromFileWithContextExtractFromFileWithContext

모듈 정보

  • 모듈 경로: github.com/cybergodev/html
  • Go 버전: 1.25+
  • 의존성: golang.org/x/net, golang.org/x/text

핵심 타입 빠른 참조

타입설명문서
Result추출 결과(텍스트, 제목, 이미지, 링크, 통계)타입 정의
Config통합 설정 구조체와 프리셋설정
Processor핵심 처리 엔진, 캐시와 통계 지원Processor
Statistics처리 통계(적중, 오류, 평균 소요)타입 정의
BatchResult배치 추출 결과배치 처리
LinkResource링크 리소스(유형 분류 포함)링크 추출
AuditEntry감사 로그 항목감사 시스템

인터페이스 빠른 참조

인터페이스설명문서
Extractor추출 메인 인터페이스, 디커플링과 mock 에 편리인터페이스 정의
StatsProvider통계 조회 인터페이스인터페이스 정의
Scorer커스텀 콘텐츠 평가 알고리즘인터페이스 정의
ContentNode노드 추상화, 내부 파서 타입 숨김인터페이스 정의
AuditSink감사 로그 출력 대상(커스텀 백엔드)인터페이스 정의

프리셋 설정

프리셋에서 출발하여 필요에 따라 미세 조정하고, 제로값 설정을 직접 작성하는 것을 피하세요 (Config 제로값은 직접 사용할 수 없음):

프리셋용도
DefaultConfig()범용 시나리오, 기능과 성능의 균형
TextOnlyConfig()순수 텍스트만 추출, 모든 미디어 비활성화, 최고 성능
MarkdownConfig()인라인 Markdown 포맷의 이미지와 링크 출력
HighSecurityConfig()고보안 환경: 한도 강화, 타임아웃 단축, 감사 활성화

자세한 내용은 설정을 참조하세요.

시나리오별 API 찾기

일반적인 요구와 해당 진입점:

요구추천 API문서
순수 텍스트만 추출ExtractText / Processor.ExtractText패키지 함수
Markdown 출력ExtractToMarkdown 또는 MarkdownConfig()출력 형식
모든 링크 리소스 추출ExtractAllLinks링크 추출
배치 동시성 처리ExtractBatch / ExtractBatchFiles배치 처리
커스텀 콘텐츠 인식Scorer 인터페이스 + Config.Scorer인터페이스 정의
감사 보안 이벤트AuditConfig + AuditSink감사 시스템
고빈도 재사용 + 캐시html.New() 장기 실행 ProcessorProcessor