Je suis (étais) un développeur Python qui construit une application de scraping Web GUI. Récemment, j'ai décidé de migrer vers le framework .NET et d'écrire la même application en C # (cette décision n'était pas mien).
En Python, j'ai utilisé la bibliothèque Mechanize. Cependant, je n'arrive pas à trouver quelque chose de similaire dans .NET. Ce dont j'ai besoin, c'est d'un navigateur qui fonctionnera en mode sans tête, qui a la capacité de remplir des formulaires, de les soumettre, etc. L'analyseur JavaScript n'est pas un must, mais il serait très utile.
Il y a quelques options:
WebKit.Net (gratuit)
Awesomium
Il est basé sur Chrome/WebKit et fonctionne comme un charme. Il existe une licence gratuite mais aussi commerciale et si besoin est vous pouvez acheter le code source :-)
Pack d'agilité HTML (gratuit)
Cela aide à extraire des informations de HTML, etc. et pourrait être utile dans votre cas (éventuellement en combinaison avec HttpWebRequest
)
Plus de solutions:
J'avais l'habitude d'utiliser les deux pour les tests Web. Mais ils conviennent également au grattage de bande.
Vous pouvez être après TrifleJS (actuellement en version bêta), ou quelque chose de similaire en utilisant le . NET WebBrowser = classe qui communique avec IE via une API ActiveX/COM sans fenêtre.
Vous exécuterez essentiellement un navigateur à part entière (pas un wrapper de demande http) à l'aide du moteur Trident d'Internet Explorer, si vous n'êtes pas intéressé par l'API JavaScript (un port de phantomjs ), vous pourrez peut-être encore d'utiliser une partie de la base de code C # pour contourner les concepts clés (en-têtes personnalisés, cookies, exécution de script, rendu de capture d'écran, etc.).
Notez que cela peut également émuler différentes versions de IE selon ce que vous avez installé.