[SOLUCIONADO]Sacar datos de contenido web

Iniciado por .:Weeds:., 24 Mayo 2011, 23:45 PM

0 Miembros y 1 Visitante están viendo este tema.

.:Weeds:.

Tengo el siguiente código que muestra una lista de personajes de un juego, es 1 pero podrian ser otra cantidad, siempre repitiendo esta estructura.
Código (html4strict) [Seleccionar]

<div style="display:block;" class="bloc_list_persos_mid" id="characters_list_small">
<ul>
<li onmouseover="YAHOO.util.Dom.addClass(this,'over');" onmouseout="YAHOO.util.Dom.removeClass(this,'over');">
<a class="" href="/es/personajes/servidor/Nombre-xxxxxxx">
<span class="picto_persos anutrofm"></span>
Nombre<br />
<span><em>(Servidor)</em></span>
</a>
<a title="Preferencias y confidencialidad" class="mollette" href="/es/personajes/aguabrial/Nombre-xxxxxxx/gestion-perfil"></a>
</li>
</div>


Para sacar el Nombre y el servidor hago esto:
Código (vbnet) [Seleccionar]
WebBrowser1.Document.GetElementById("characters_list_small").InnerText.ToString()
Al hacerlo me saca "Nombre(Servidor)", pero  lo que mas me interesa es conseguir la url "/es/personajes/servidor/Nombre-xxxxxxx"
Como podria hacerlo?
Agradezco cualquier respuesta  ;-)
Saludos!


Keyen Night

Quizas expresiones regulares, no te doy ejemplos por que no se mucho pero hay bastantes en google. Recuerdo a ver tenido una vez un problema parecido pero para sacar links de imagenes eso lo resolvieron las expresiones regulares.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

seba123neo

mejor usa un parser de HTML, hay una libreria para .NET llamada Html Agility Pack que es justo para eso, yo la use en un proyecto que publique hace poco aca en el foro.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Edu

Al poner esto:

Código (csharp) [Seleccionar]

WebBrowser1.Document.GetElementById("characters_list_small").InnerText.ToString()


Te saca de la web solo el texto, hay otra opcion para que te saque el codigo html:

web.Document.Body.InnerHtml;

Y despues busca la url esa, recorres la cadena y guardas el nombre q querias

.:Weeds:.

Gracias, al final me he decantado por las expresiones regulares.
El Html Agility Pack parece bastante interesante, la usaré en un futuro para un proyecto mas laborioso.

Saludos y gracias.