all2md.parsers.webarchive
Safari WebArchive parser that converts .webarchive files to AST representation.
This module provides the WebArchiveToAstConverter class that parses Safari WebArchive files (binary plist format) and builds an AST representation.
- class all2md.parsers.webarchive.WebArchiveToAstConverter
Bases:
BaseParserConvert Safari WebArchive files to AST representation.
This parser extracts HTML content from Safari WebArchive files (binary plist format) and converts it to AST using the HTML parser.
- Parameters:
options (WebArchiveOptions or None) – WebArchive conversion options
Examples
- Basic usage:
>>> from all2md.parsers.webarchive import WebArchiveToAstConverter >>> from all2md.options.webarchive import WebArchiveOptions >>> parser = WebArchiveToAstConverter() >>> doc = parser.parse("example.webarchive")
- Extract embedded resources:
>>> options = WebArchiveOptions( ... extract_subresources=True, ... attachment_output_dir="./resources" ... ) >>> parser = WebArchiveToAstConverter(options) >>> doc = parser.parse("example.webarchive")
Initialize the WebArchive parser with options and progress callback.
- __init__(options: WebArchiveOptions | None = None, progress_callback: Callable[[ProgressEvent], None] | None = None)
Initialize the WebArchive parser with options and progress callback.
- parse(input_data: str | Path | IO[bytes] | bytes) Document
Parse WebArchive file into an AST Document.
- Parameters:
input_data (str, Path, IO[bytes], or bytes) – The input WebArchive file to parse
- Returns:
AST Document node representing the parsed WebArchive structure
- Return type:
- Raises:
ParsingError – If parsing fails due to invalid WebArchive format
MalformedFileError – If the plist structure is invalid or corrupted
- extract_metadata(archive_data: dict[str, Any], html_content: str = '') DocumentMetadata
Extract metadata from WebArchive plist.
- Parameters:
archive_data (dict) – Parsed WebArchive plist data
html_content (str, optional) – HTML content for additional metadata extraction
- Returns:
Extracted metadata
- Return type: