Comment charger une page Web générée dynamiquement?

c# data-scrubbing html html-agility-pack

Question

J'essaie de charger la page Web, http://www.artstation.com/artist/nicotine , afin de pouvoir frotter la page. Malheureusement, la page semble avoir été générée via du code. .

Le chargement avec les éléments suivants ne fonctionne pas, car il ne charge que le code source javascript, pas le contenu généré:

HtmlWeb htmlWeb = new HtmlWeb();
imagepage = htmlWeb.Load(http://www.artstation.com/artist/nicotine);

Comment puis-je charger sur la page la page affichée dans le navigateur afin de pouvoir la parcourir pour les balises?

Réponse populaire

Vous ne pouvez pas utiliser HtmlAgilityPack pour cela. Lorsque HAP demande au serveur de vous donner le fichier de page, le contenu de ce fichier n'a pas encore été analysé / exécuté par un navigateur Web. Le code JavaScript correspondant n'a donc encore rien fait.

Il y a un moyen de contourner ce problème. Vous pouvez utiliser selenium ou phantomJs pour obtenir le contenu des balises générées dynamiquement. Ces outils ont une pile de navigateur et il vous exécutera le JavaScript. Vous pouvez trouver de nombreux autres outils comme celui-ci et de nombreux exemples.



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