Autor Tema: Expresiones Regulares para parsear html  (Leído 3568 veces)

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

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Expresiones Regulares para parsear html
« en: Septiembre 06, 2012, 04:19:23 pm »
Hola, tras muchos intentos, me doy por vencido, quiero parsear un html utilizando RegExp y recuperar <link rel='shortcut icon'   y obtener  el href, también el <meta itemprop="image" content="/images/google_favicon_128.png">   en este caso el "content"   , con este Pattern <(\/?)(\w+)[^>]*(\/?)>   puedo recuperar cada elemento, pero me gustaría saber como consultar los atributos de esos elementos (href , content)

mi idea obtener el favicon de la pagina. es posible hacer lo que quiero con una sola expresión regular?.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Expresiones Regulares para parsear html
« Respuesta #1 en: Septiembre 07, 2012, 08:36:05 am »
Mirá, es medio rebuscado usar expresiones regulares para parsear HTML, te conviene ir partiendo usando strings. Ejemplo hacer un InStr("<body") y lo que esta desde el principio hasta donde te devuelva el Instr con eso trabajar la expresion regular

No pude hacer para detectar con una sola regExp para sacar el del tag Link y Meta, así que hice 2 :P

para obtener el href del link "shorcut icon" por ahora me sale:
Código: [Seleccionar]
<link\s*(?:rel=['"]?shorcut icon['"]?\s*|href=['"]?(\w+)['"]?\s*|[^>])+>Siendo el SubMatches(1) deberia ser el href

y para el meta
Código: [Seleccionar]
<meta\s*(?:itemprop=['"]?image['"]?\s*|content=['"]?([^'"]+)['"]?\s*|[^>])+>
PD: No se si vayan a funcionar en visual basic. Las regExp en vb estan limitadas, no aceptan ciertas caracteristicas, no se porque. pero bueno, si no llega a funcionar, es por que hay [^(algo)] y no recuerdo si se puede hacer eso en las expReg en vb :P

Cualquier cosa contestas :P

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Expresiones Regulares para parsear html
« Respuesta #2 en: Septiembre 07, 2012, 09:34:49 am »
debe haber algun parseador HTML en PSC capas, me da bronca que en VB6 se tenga que hacer tanto lio, y en .NET con una libreria, en 1 linea haces todo  8), pero bueno asi es.