Chargement de la page Web et analyse de son code HTML après la fin du javascript asyncrone

c# html html-agility-pack html-parsing javascript

Question

Pour un projet personnel .net personnel, j'essaie de charger et d'analyser une page de résultats de recherche de skyscanner.net. Je sais que Skyscanner dispose d’API pour ce type de tâches, mais il semble qu’il n’existe pas de licence personnelle gratuite à utiliser.

Le problème est que Skyscanner a besoin de beaucoup de secondes pour terminer un processus de recherche. Par conséquent, utiliser HtmlAgilityPack pour charger le document donne une page sans le contenu recherché.

J'ai essayé d'utiliser l'objet WebBrowser et son événement DocumentCompleted, mais il semble que l'événement soit déclenché avant le chargement des résultats de la recherche dans la page.

Alors, y a-t-il un moyen de charger la page, d'attendre que les scripts javascript asyncronous remplissent complètement la page, puis d'obtenir le code HTML à analyser?

Réponse populaire

Vous pouvez utiliser les PhantomJs . J'ai eu ce problème, mais je n'ai trouvé aucune solution à mon problème. J'utilise les PhantomJs dans cet article et je reçois la page chargée après 10 secondes. À mon avis, la meilleure solution à votre problème est cet article.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi