Récupérateur d’URL
Le module URLRetriever gère la récupération de contenu à partir d’URLs web.
Usage
Ce module est utilisé par URLProcessor pour récupérer le contenu des pages web à analyser.
Fonctionnalités
Récupère le contenu HTML des pages web à l’aide de Playwright.
Met en œuvre des stratégies progressives pour gérer les erreurs de certificat SSL.
Gère les erreurs réseau courantes comme les redirections et les temps morts.
Convertit automatiquement le contenu HTML récupéré en Markdown à l’aide du module HtmlToMarkdown.
Modules
- src.smart_watch.core.URLRetriever._expand_all_accordions(page: Page, identifiant: str)[source]
Force l’affichage des contenus d’accordions identifiés sur une page Playwright. Cette fonction tente d’ouvrir et de rendre visibles les panneaux d’accordions en ciblant une liste modérée de sélecteurs courants (IDs, classes CSS et rôles ARIA). Pour chaque élément trouvé, elle applique via JavaScript des modifications de style (display, visibility, opacity, height, maxHeight, overflow), supprime certaines classes masquantes courantes et force l’attribut ARIA approprié afin de révéler le contenu. Les éléments déjà traités sont évités grâce à un suivi par identifiant. Les erreurs locales sur des éléments ou des sélecteurs sont consignées mais n’interrompent pas le déroulement global. :param page: Instance Playwright Page sur laquelle opérer (par ex.
playwright.sync_api.Page). L’objet est utilisé pour localiser les éléments et exécuter le JavaScript d’altération du DOM.
- Paramètres:
identifiant (str) – Chaîne utilisée pour le contexte des logs afin de faciliter le traçage des actions et des erreurs.
- Renvoie:
Aucun résultat n’est retourné. La fonction applique des effets secondaires sur la page et journalise le nombre d’éléments forcés à l’affichage.
- Type renvoyé:
None
- Lève:
Aucun – Les exceptions locales (par sélecteur ou par élément) sont capturées
et consignées. En pratique, la fonction ne propage pas d'exceptions –
issues des opérations sur les éléments du DOM. –
- src.smart_watch.core.URLRetriever.retrieve_url(row: Dict[str, Any], sortie: str = 'html', encoding_errors: str = 'ignore', config: Dict[str, Any] | None = None, index: int = 0, total: int = 0) Dict[str, Any][source]
Récupère le contenu d’une URL avec des stratégies et tentatives multiples.
- Paramètres:
row (Dict[str, Any]) – Dictionnaire contenant les informations de l’URL.
sortie (str) – Format de sortie souhaité (« html » ou « markdown »).
encoding_errors (str) – Gestion des erreurs d’encodage.
config (Optional[Dict[str, Any]]) – Configuration supplémentaire.
index (int) – Index de l’URL pour le logging.
total (int) – Nombre total d’URLs pour le logging.
- Renvoie:
Dictionnaire enrichi avec le statut et le contenu de la page.
- Type renvoyé:
Dict[str, Any]