En bref : l’utilisation de JavaScript avec Scrapy ne nécessite pas toujours un navigateur. Commencez par analyser la réponse brute, les requêtes réseau et l’état de la page intégrée ; n’ajoutez « scrapy-playwright » que lorsque les données cibles dépendent réellement de l’exécution dans le navigateur, puis gérez de manière réfléchie les temps d’attente, les interactions, le nettoyage et la concurrence.
Utiliser JavaScript avec Scrapy revient à ajouter une exécution en navigateur pour les pages dont les données requises n’apparaissent qu’après l’exécution du code côté client. L’objectif pratique n’est pas de rendre chaque page, mais d’identifier le chemin le plus économique et le plus fiable vers les données : du HTML brut, une requête JSON, un objet JavaScript intégré ou, uniquement lorsque cela est nécessaire, un DOM construit par le navigateur.
Cette distinction est importante car le téléchargeur de Scrapy reçoit la réponse du serveur, tandis que Chrome ou Firefox peuvent effectuer des requêtes supplémentaires et modifier le document par la suite. Une page React, Vue ou Angular peut donc sembler complète dans DevTools même si response.text elle ne contienne guère plus qu’une coquille d’application.
Ce guide commence par un diagnostic « navigateur en dernier », puis met en place un workflow Scrapy-Playwright ciblé pour les requêtes qui nécessitent réellement d’être exécutées. Vous découvrirez également comment utiliser des attentes conditionnelles, gérer les clics et l’état de session, comparer les options de rendu et assurer la stabilité des robots dynamiques en production. Il en résulte un workflow qui préserve autant que possible l’efficacité du pipeline HTTP de Scrapy, sans prétendre que tous les sites modernes peuvent être explorés à partir d’un simple balisage statique.




