Skip to content

API リファレンス

HTML ライブラリは以下のコアコンポーネントを提供します:

コンポーネント説明ドキュメント
パッケージ関数一回限りの呼び出しに適した便利関数パッケージ関数
Processorリソースとキャッシュを再利用するプロセッサインスタンスProcessor
Config設定構造体とプリセット設定
出力フォーマットMarkdown、JSON 出力出力フォーマット
リンク抽出独立したリンク抽出 APIリンク抽出
バッチ処理並列バッチ抽出バッチ処理
インターフェースExtractor、StatsProvider などインターフェース定義
Result、ImageInfo など型定義
定数とエラーデフォルト値、センチネルエラー定数とエラー
セキュリティ保護サニタイズ、入力制限、パスセキュリティセキュリティ保護
監査システム監査パイプラインと Sink監査システム

API 概要

2 つの呼び出しモード

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