URL Processor

Le URLProcessor est la deuxième étape du pipeline. Il est chargé de récupérer le contenu web pour chaque lieu et de le convertir en Markdown brut.

Fonctionnalités

  • Traitement des URLs en Attente : Récupère la liste des URLs à traiter pour l’exécution en cours auprès du DatabaseProcessor.

  • Récupération de Contenu Web : Pour chaque URL, il utilise la fonction retrieve_url (du module URLRetriever) qui se sert de Playwright pour naviguer sur la page et en extraire le contenu HTML.

  • Conversion en Markdown : Le contenu HTML récupéré est immédiatement converti en Markdown brut.

  • Mise à Jour de la Base de Données : Le statut de la requête (succès, erreur), le code HTTP, et le Markdown brut sont sauvegardés en base de données via le DatabaseProcessor.

Note sur le traitement séquentiel

Bien qu’initialement conçu pour un traitement parallèle, ce processeur fonctionne de manière séquentielle. L’utilisation de l’API synchrone de Playwright pour la récupération des URLs ne permet pas une parallélisation simple avec des threads.

Modules

Processeur pour les extractions d’URLs.

class src.smart_watch.processing.url_processor.URLProcessor(config: ConfigManager, logger)[source]

Bases : object

Processeur pour les extractions d’URLs.

__init__(config: ConfigManager, logger)[source]
process_urls(db_processor: DatabaseProcessor, execution_id: int)[source]

Traite toutes les URLs en attente pour une exécution donnée.

Paramètres:
  • db_processor (DatabaseProcessor) – Processeur de base de données

  • execution_id (int) – ID de l’exécution

_process_single_url(row_data: Dict, resultat_id: int, index: int, total: int) Dict[source]

Traite une URL individuelle.