elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [SOLUCIONADO]Sacar datos de contenido web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO]Sacar datos de contenido web  (Leído 3,687 veces)
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
[SOLUCIONADO]Sacar datos de contenido web
« en: 24 Mayo 2011, 23:45 pm »

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
  1. <div style="display:block;" class="bloc_list_persos_mid" id="characters_list_small">
  2. <ul>
  3. <li onmouseover="YAHOO.util.Dom.addClass(this,'over');" onmouseout="YAHOO.util.Dom.removeClass(this,'over');">
  4. <a class="" href="/es/personajes/servidor/Nombre-xxxxxxx">
  5. <span class="picto_persos anutrofm"></span>
  6. Nombre<br />
  7. <span><em>(Servidor)</em></span>
  8. </a>
  9. <a title="Preferencias y confidencialidad" class="mollette" href="/es/personajes/aguabrial/Nombre-xxxxxxx/gestion-perfil"></a>
  10. </li>
  11. </div>

Para sacar el Nombre y el servidor hago esto:
Código
  1. 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!


« Última modificación: 26 Mayo 2011, 01:07 am por .:Weeds:. » En línea


Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Sacar datos de contenido web
« Respuesta #1 en: 24 Mayo 2011, 23:56 pm »

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.


En línea

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


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Sacar datos de contenido web
« Respuesta #2 en: 25 Mayo 2011, 01:13 am »

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.
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Sacar datos de contenido web
« Respuesta #3 en: 25 Mayo 2011, 02:03 am »

Al poner esto:

Código
  1. WebBrowser1.Document.GetElementById("characters_list_small").InnerText.ToString()
  2.  

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
En línea

.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: Sacar datos de contenido web
« Respuesta #4 en: 26 Mayo 2011, 01:06 am »

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.
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines