2009-06-04 19 views
8

Quali soluzioni esistono per screen scraping un sito su SSL per l'uso con .NET?screen scraping su SSL con .NET

mio caso d'uso è che ho bisogno di accedere ad un sito web partner (https), navigare attraverso una gerarchia dinamica, e scaricare un file zippato di rapporti.

certamente potuto usare altri screen scraper se non ci sono buone opzioni praticabili in .NET, o se il quadro o OSS.

risposta

6

considerano Forse WATIN per simulare la navigazione o WebClient se è possibile trovare gli oggetti stessi e simulare la logica.

+0

WatiN ha funzionato alla grande. Mi sarei sparato se dovessi analizzare manualmente tutti gli elementi HTML. –

8

Il gold standard per screen scraping nel .NET è la HTML Agility Pack.

Per quanto riguarda il recupero di pagine su HTTPS, provate questo articolo:

(Come già detto da altre risposte, si può effettivamente essere dopo automazione piuttosto che screen scraping , nel qual caso potresti stare meglio con WatiN, un framework progettato originariamente per i test web automatizzati, ma abbastanza flessibile per quello che vuoi)

4

Si può certamente fare questo con HttpWebRequest, ma tenere traccia dei cookie utilizzati per l'accesso può essere non banale. Vorrei raccomandare l'uso di watir (rubino) o watin (C#). Entrambi gestiranno tutto questo per te.

Dal sito WatiN, ecco un esempio:

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

Ho sentito parlare di persone che ospitano il browser nel loro programma, e raschiando con jQuery. Sembra fantastico per me dal momento che jQuery è ottimo per la ricerca del DOM.