[Python-es] Expresiones regulares por grupo

Andrey Antoukh andsux en gmail.com
Jue Feb 10 08:02:20 CET 2011


Opino lo mismo, y lxml en mi caso ha sido una herramienta maravillosa.

Un saluso.

El día 10 de febrero de 2011 07:12, Luis Miguel Morillas
<morillas en gmail.com> escribió:
> El día 10 de febrero de 2011 02:46, lopz <lowlifebob en gmail.com> escribió:
>> Hola
>>
>> Hace poco empecé son las expresiones regulares y estaba tratando de
>> usarlas y tengo un pequeño problema al momento de
>> parsear un html que extraigo de una página web, la idea es la
>> siguiente, de un trozo de código html quiero extraer datos pero de
>> diferentes líneas
>> para esto hago uso de los grupos, mejor paso a pegar el trozo de
>> código html y lo que intento extraer y lo que tengo hasta el momento
>>
>>
>> <h2>Google search: <a
>> href="http://www.google.com/search?hl=en&#038;q=BUSQUEDA&#038;btnG=Google+Search"
>> class="external" rel="nofollow">&quot;BUSQUEDA</a></h2>
>>
>> <p>algo</p>
>> <p>fecha: 2006-03-06</p>
>> <p class="text">LINEA 1
>> LINEA 2
>> LINEA3</p>
>> </div>
>>
>> Tengo esto y lo que quiero es obtener 3 datos de ahí,  lo que dice
>> BUSQUEDA, luego de la q=
>> luego la fecha y por último LINEA 1, LINEA 2 y LINEA 3
>>
>> Sabría hacerlo por partes, primero un datos luego el otro y así, pero
>> mi idea es hacerlo en una sola expresión y obtenerlo por grupos
>> lo que tengo hasta el momento es esto para obtener la palabra BUSQUEDA
>> q=(.+?)["|&] <- esto me busca hasta que cierra comillas o hasta que se
>> encuentre con & que aveces está presente en medio y que a partir
>> de ahí son parámetros que usa google
>> para la fecha lo tengo así: (\d{4}-\d{2}-\d{2})
>> y para lo otro sería casi igual pero mi problema es que no se unirlas
>> en una sola expresión jeje
>> osea que en medio de esas incluya cualquier cosa como las etiquetas
>> </h2> saltos de linea, tabs, etc
>> Espero me puedan ayudar, desde ya muchas gracias
>>
>
> Yo no te puedo ayudar con la expresión regular. Sólo quería comentar
> que para hacer web scraping se suelen utilizar parsers de html o xml.
> En este caso un análisis del DOM resolvería el problema. Además te da
> más flexibilidad para sencillos cambios de la página inicial.
>
> -- luismiguel
>
>
>
>> saludOS!
>>
>> --
>> lopz es libre, usa --> GNU/linux gentoo
>>
>> +--[RSA 2048]--+
>> |  ..o.o=+       |
>> |   o =o*.+      |
>> |  . . *oO .      |
>> |     .EBoo      |
>> |      o.S         |
>> +--[lopz.org]--+
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
http://twitter.com/andsux
http://www.niwi.be
****
http://www.freebsd.org/
http://www.postgresql.org/
http://www.python.org/
http://www.djangoproject.com/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"


Más información sobre la lista de distribución Python-es