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 moduleURLRetriever) 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
- class src.smart_watch.processing.url_processor.URLProcessor(config: ConfigManager, logger: SmartWatchLogger)[source]
Bases :
objectProcesseur pour les extractions d’URLs.
- __init__(config: ConfigManager, logger: SmartWatchLogger) None[source]
Initialise le processeur d’URLs avec la configuration et le logger.
Cette méthode configure les composants nécessaires pour traiter les URLs : configuration du système et logger pour le suivi des opérations.
- Paramètres:
config (ConfigManager) – gestionnaire de configuration du système.
logger – instance de logger pour la journalisation des événements.
- process_urls(db_processor: DatabaseProcessor, execution_id: int) None[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