| from abc import ABC, abstractmethod | |
| from src.models.scrape_models import ScrapeQuery, ScrapeResult | |
| class ScraperInterface(ABC): | |
| def get_url_content(url_parameters: ScrapeQuery) -> ScrapeResult: | |
| """ | |
| Fetches the content of the specified URL and returns the result as a ScrapeResult object. | |
| Args: | |
| url_parameters (ScrapeQuery): The URL parameters to fetch content from. | |
| Returns: | |
| ScrapeResult: An object containing the scraped content and related metadata. | |
| Raises: | |
| NotImplementedError: This method should be implemented by subclasses. | |
| """ | |
| raise NotImplementedError | |