none
Ayuda comparando dos versiones de una misma web RRS feed

  • Pregunta

  • Hola a todos, soy nuevo en el foro, y me ha surgido un problema con un proyecto.
    Miren, estoy haciendo un programa para comparar una misma dirección web en diferentes momentos.
    Este programa lo que hace es obtener el código de la web mediante esta instrucción:

    Dim sw1 As New StreamWriter("direccion archivo") sw1.WriteLine(webbrowser.DocumentText)

    Mi problema es que con este código se guarda todo el html, en el que se incluye la fecha y la hora de la pagina, y como lo que quiero es comparar, necesitaría algún modo de filtrar de algún modo ese código, o una vez guardado el txt, seleccionar y eliminar las lineas que contienen datos que me generen errores en la comparación.
    Saludos.
    domingo, 12 de octubre de 2014 23:02

Respuestas

  • Hola.
    Muchas gracias por la aclaracion, por fin me salio, y parece que el codigo ya funciona, aunque al corregir ese problema me he dado cuenta que la pagina tenia mas complejidad de la que pensaba, pues guardaba numeros de id de cada sesion. 
    Al final, lo que he terminado por hacer es hacer que solo se guarden los links de la pagina, en vez del codigo entero.
    De todos modos, muchas gracias por la informacion, que nunca está de mas saber hacerlo de este modo.
    Saludos.
    martes, 14 de octubre de 2014 22:28

Todas las respuestas

  • puedes usar el metodo de la clase String LastIndexOf para buscar una etiqueta en el html por ejemplo LastIndexOf("<body>") en visual basic tu sabrás como se implementa

    G. Poliovei

    domingo, 12 de octubre de 2014 23:08
  • Hola. Perdona, pero no soy capaz de implementarlo, he estado mirando el metodo, pero no entiendo su funcionamiento. Tambien se me ha ocurrido, que podia obtener el listado de links de la web, en vez del codigo entero, pero no se que metodo o expresion usar. ¿Alguien sabe como solucionar alguno de los casos? Saludos y gracias.
    lunes, 13 de octubre de 2014 21:28
  • Hola, el método funciona asi tanto para c# como para VB

    Sabemos que ya traes un string cierto, hasta ahi bien

    ahora puedes recorrer ese string buscando claves como por ejemplo la etiqueta <body>

    El metodo LastIndexOf() lo que hace es buscar la coincidencia y si la encuentra te devuelve el sub-Indice 

    si no lo encuentra devuelve -1

    por ejemplo si tengo la cadena siguiente  

    Dim texto as string

    texto = "<h1> todos los perros van al cielo </h1> <p>pelicula infantil</p> "

    en vb no se como pero mientras esperamos alguien experto en la materia vamos a ir haciendo algo

    en c# 

    int index = value.LastIndexOf("<p>");
    	if (index != -1)
    	{
    	    Texto = value.Substring(index));
    	}

    Esas lineas de codigo hacen esto

    sabemos ke el metodo devuelve el indice de la ultima ocurrencia en el string en nuestro caso la ultima <p> 

    antes de hacer algo corroboro si realmente encontró (si no encuentra nada retorna -1

    pero si encuentra algo o sea index diferente o distinto de -1

    Guardo con el metodo substring en la variable texto  desde ese punto hasta el final o sea

    esto pasaria a valer mi variable

    "<p>pelicula infantil</p>"

    Espero no haberte confundido pero eso es básicamente lo que hace el método y si en tu html que viene en tu cadena string hay algo que sirva para ubicar tu valor esta forma es ideal


    G. Poliovei

    lunes, 13 de octubre de 2014 23:02
  • Hola.
    Muchas gracias por la aclaracion, por fin me salio, y parece que el codigo ya funciona, aunque al corregir ese problema me he dado cuenta que la pagina tenia mas complejidad de la que pensaba, pues guardaba numeros de id de cada sesion. 
    Al final, lo que he terminado por hacer es hacer que solo se guarden los links de la pagina, en vez del codigo entero.
    De todos modos, muchas gracias por la informacion, que nunca está de mas saber hacerlo de este modo.
    Saludos.
    martes, 14 de octubre de 2014 22:28