2009-06-04 8 views
8

Quelles sont les solutions disponibles pour scrapper un site sur SSL en vue d'une utilisation avec .NET? Mon cas d'utilisation est que je dois me connecter à un site Web partenaire (https), naviguer dans une hiérarchie dynamique et télécharger un fichier compressé de rapports.Scrappage d'écran sur SSL avec .NET

Je pourrais certainement utiliser d'autres racleurs d'écran s'il n'y a pas de bonnes options viables dans .NET, que ce soit le framework ou OSS.

Répondre

6

Peut-être envisager WATIN pour simuler la navigation ou WebClient si vous pouvez trouver les éléments vous-même et simuler la logique.

+0

WatiN a bien fonctionné. Je me serais tiré dessus si je devais analyser manuellement tous les éléments HTML. –

8

L'étalon-or pour le grattage d'écran dans .NET est le HTML Agility Pack.

En ce que la récupération des pages HTTPS, essayez cet article:

(Comme mentionné par d'autres réponses, vous pouvez effectivement être après automatisation plutôt que écran racler , dans ce cas, vous pouvez être mieux avec WatiN, un cadre conçu initialement pour les tests Web automatisés, mais assez flexible pour ce que vous voulez)

4

Vous pouvez certainement le faire avec HttpWebRequest, mais le suivi des cookies utilisés pour la connexion peut être non trivial. Je recommanderais d'utiliser watir (ruby) ou watin (C#). Les deux vont gérer tout cela pour vous.

Depuis le site Web Watin, voici un exemple:

public void SearchForWatiNOnGoogle() 
{ 
using (IE ie = new IE("http://www.google.com")) 
{ 
    ie.TextField(Find.ByName("q")).TypeText("WatiN"); 
    ie.Button(Find.ByName("btnG")).Click(); 

    Assert.IsTrue(ie.ContainsText("WatiN")); 
} 
} 
2

Je l'ai entendu parler de gens qui hébergent le navigateur dans leur programme, et en grattant avec jQuery. Cela me semble super car jQuery est parfait pour chercher dans le DOM.