Source code for intelliscraper.enums
"""Enumerations used throughout IntelliScraper."""
from enum import Enum
[docs]
class HTMLParserType(str, Enum):
"""Supported HTML parser backends for ``HTMLParser``.
Determines which parser engine BeautifulSoup uses under the hood.
Attributes:
HTML5LIB: Full HTML5 parsing (most accurate, slower).
BUILTIN: Python's built-in ``html.parser`` (faster, less
forgiving).
"""
HTML5LIB = "html5lib"
BUILTIN = "html.parser"
[docs]
class BrowsingMode(str, Enum):
"""Defines how the browser behaves during scraping.
Attributes:
HUMAN_LIKE: Adds delays, scrolling, and randomness to mimic
human browsing. Recommended when using session data or
scraping protected sites.
FAST: Minimal delays, optimised for throughput. Recommended
when using a proxy for identity rotation.
"""
HUMAN_LIKE = "human_like"
FAST = "fast"
[docs]
class ScrapStatus(str, Enum):
"""Outcome status of a scraping operation.
Attributes:
SUCCESS: Page loaded fully and content was extracted.
PARTIAL_SUCCESS: Page timed out but partial content was
retrieved.
FAILED: An error prevented content extraction.
RATE_LIMITED: Server returned HTTP 429 Too Many Requests.
BLOCKED: Bot detection was triggered (HTTP 403 + known
patterns).
TIMEOUT: Page load timed out with no usable content.
"""
SUCCESS = "success"
PARTIAL_SUCCESS = "partial_success"
FAILED = "failed"
RATE_LIMITED = "rate_limited"
BLOCKED = "blocked"
TIMEOUT = "timeout"