2009-06-04 20 views
8

¿Qué soluciones existen para raspar la pantalla de un sitio sobre SSL para usar con .NET?Raspado de pantalla sobre SSL con .NET

Mi caso de uso es que necesito iniciar sesión en un sitio web asociado (https), navegar a través de una jerarquía dinámica y descargar un archivo comprimido de informes.

Ciertamente podría utilizar otros raspadores de pantalla si no hay buenas opciones viables en .NET, ya sea a través del framework o OSS.

Respuesta

6

Quizás considere WATIN para simular la navegación o WebClient si puede encontrar los elementos usted mismo y simular la lógica.

+0

WatiN funcionó muy bien. Me habría disparado a mí mismo si tuviera que analizar todos los elementos HTML manualmente. –

8

El estándar de oro para el raspado de pantalla en .NET es el HTML Agility Pack.

En cuanto a la recuperación de páginas a través de HTTPS, trata este artículo:

(Como se ha mencionado en otras respuestas, puede ser en realidad después de automatización en lugar de captura de imágenes , en cuyo caso puede estar mejor con WatiN, un marco originalmente diseñado para pruebas web automatizadas, pero suficientemente flexible para lo que desee)

4

Sin duda puede hacer esto con HttpWebRequest, pero hacer un seguimiento de las cookies utilizadas para iniciar sesión puede ser no trivial. Yo recomendaría usar watir (ruby) o watin (C#). Ambos manejarán todo eso por ti.

Desde el sitio web WatiN, aquí es un ejemplo:

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

He oído hablar de personas que alojan el navegador en su programa, y ​​raspando con jQuery. Me parece genial ya que jQuery es ideal para buscar el DOM.

Cuestiones relacionadas