comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Ayuda Expresiones regulares en python

  • 9 Respuestas
  • 2990 Vistas

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

Desconectado juliianc95

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Noviembre 15, 2013, 06:14:36 pm »

Buenas amigos, tengo una duda sobre expresiones regulares en python esta es mi duda:
Tengo un string que quiero sacar todos los h2 de hay. que metodo tendria que usar findall, search o usar grupos? un ejemplo de como quiero que quede.
Citar
Código: Python
  1. [<h2 class="tt_18 d_inline">
  2. <a class="no_underline" title="" href="/peliculas/pelicula-1628/">
  3. El Padrino
  4. </a>
  5. </h2>, <h2 class="tt_18 d_inline">
  6. <a class="no_underline" title="" href="/peliculas/pelicula-211083/">
  7. One Direction: This Is Us
  8. </a>
  9. </h2>, <h2 class="tt_18 d_inline">
  10. <a class="no_underline" title="" href="/peliculas/pelicula-182745/">
  11. Intocable
  12. </a>
  13. </h2>, <h2 class="tt_18 d_inline">
  14. <a class="no_underline" title="" href="/peliculas/pelicula-132874/">
  15. El caballero oscuro. La leyenda renace
  16. </a>
  17. </h2>, <h2 class="tt_18 d_inline">
  18. <a class="no_underline" title="" href="/peliculas/pelicula-24944/">
  19. Gladiator (El gladiador)
  20. </a>
  21. </h2>, <h2 class="tt_18 d_inline">
  22. <a class="no_underline" title="" href="/peliculas/pelicula-115362/">
  23. El caballero oscuro
  24. </a>
  25. </h2>, <h2 class="tt_18 d_inline">
  26. <a class="no_underline" title="" href="/peliculas/pelicula-27070/">
  27. El Señor de los Anillos: La Comunidad del Anillo
  28. </a>
  29. </h2>, <h2 class="tt_18 d_inline">
  30. <a class="no_underline" title="" href="/peliculas/pelicula-10568/">
  31. Forrest Gump
  32. </a>
  33. </h2>, <h2 class="tt_18 d_inline">
  34. <a class="no_underline" title="" href="/peliculas/pelicula-9393/">
  35. La lista de Schindler
  36. </a>
  37. </h2>, <h2 class="tt_18 d_inline">
  38. <a class="no_underline" title="" href="/peliculas/pelicula-126123/">
  39. Toy Story 3
  40. </a>
  41. </h2>, <h2 class="tt_18 d_inline">
  42. <a class="no_underline" title="" href="/peliculas/pelicula-10126/">
  43. Pulp Fiction
  44. </a>
  45. </h2>, <h2 class="tt_18 d_inline">
  46. <a class="no_underline" title="" href="/peliculas/pelicula-22092/">
  47. El sexto sentido
  48. </a>
  49. </h2>, <h2 class="tt_18 d_inline">
  50. <a class="no_underline" title="" href="/peliculas/pelicula-6641/">
  51. El silencio de los corderos
  52. </a>
  53. </h2>, <h2 class="tt_18 d_inline">
  54. <a class="no_underline" title="" href="/peliculas/pelicula-39186/">
  55. El Señor de los Anillos: Las dos torres
  56. </a>
  57. </h2>, <h2 class="tt_18 d_inline">
  58. <a class="no_underline" title="" href="/peliculas/pelicula-190918/">
  59. Django desencadenado
  60. </a>
  61. </h2>, <h2 class="tt_18 d_inline">
  62. <a class="no_underline" title="" href="/peliculas/pelicula-130440/">
  63. Marvel Los Vengadores
  64. </a>
  65. </h2>, <h2 class="tt_18 d_inline">
  66. <a class="no_underline" title="" href="/peliculas/pelicula-13892/">
  67. Seven
  68. </a>
  69. </h2>, <h2 class="tt_18 d_inline">
  70. <a class="no_underline" title="" href="/peliculas/pelicula-11736/">
  71. Cadena perpetua
  72. </a>
  73. </h2>, <h2 class="tt_18 d_inline">
  74. <a class="no_underline" title="" href="/peliculas/pelicula-39187/">
  75. El Señor de los Anillos: El retorno del Rey
  76. </a>
  77. </h2>, <h2 class="tt_18 d_inline">
  78. <a class="no_underline" title="" href="/peliculas/pelicula-25801/">
  79. Star wars: Episodio IV - Una nueva esperanza (La guerra de las galaxias)
  80. </a>
  81. </h2>]
  82. [/quote]
  83. [size=12pt]Muchas Gracias! de antemano.[/size]
  84.  
[/size][/font]
« Última modificación: Noviembre 15, 2013, 07:51:40 pm por Expermicid »

Desconectado pepeino123

  • *
  • Underc0der
  • Mensajes: 7
  • Actividad:
    0%
  • Reputación 0
  • SniferL4bs PoC
    • Ver Perfil
« Respuesta #1 en: Noviembre 15, 2013, 08:11:27 pm »
Mijo no reinventes la rueda, no te tortures, si andas haciendo scraping usa el modulo You are not allowed to view links. Register or Login para esa tarea en especifico que quieres.

Seria tan simple como esto:
Código: You are not allowed to view links. Register or Login
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)

headers = soup.find_all('h2')
Obviamente html_doc puede ser esa cadena que tienes arriba o un archivo.

Y eso es todo estimado amigo.

Para instalar BeautifulSoup en Debian/Ubuntu con apt:
Código: You are not allowed to view links. Register or Login
pt-get install python-bs4
con easy_install:
Código: You are not allowed to view links. Register or Login
easy_install beautifulsoup4
Con pip
Código: You are not allowed to view links. Register or Login
pip install beautifulsoup4

Suerte con eso!
« Última modificación: Noviembre 15, 2013, 08:14:38 pm por pepeino123 »
SniferL4bs PoC Underc0de

Conectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    10%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #2 en: Noviembre 18, 2013, 10:34:30 pm »
Tampoco es una expresión regular tan compleja como para usar una libreria externa. Así lo haría yo (con compile y findall):

Código: Python
  1. import re
  2. import urllib
  3.  
  4. text = urllib.urlopen("http://www.sensacine.com/peliculas/en-cartelera/cines/").read()
  5.  
  6. expresion = re.compile("(<h2.+?</h2>)", re.DOTALL)
  7.  
  8. data = expresion.findall(text)
  9.  
  10. for u in data:
  11.     print u, "\r\n"

Saludos!






You are not allowed to view links. Register or Login

Desconectado juliianc95

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #3 en: Noviembre 27, 2013, 03:07:04 pm »
gracias, por la ayuda. pero ando usando mechanize se me olvido decir. y quiero extraer la informacion solo con expresiones regulares. sin ningun otro parametro ni nd. cual seria el code? gracias de antemano.

Conectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    10%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #4 en: Noviembre 27, 2013, 03:10:55 pm »
You are not allowed to view links. Register or Login
gracias, por la ayuda. pero ando usando mechanize se me olvido decir. y quiero extraer la informacion solo con expresiones regulares. sin ningun otro parametro ni nd. cual seria el code? gracias de antemano.

¿qué información extraes con mechanize? si quieres pon el code y dime que quieres cambiar para poder ayudarte mejor

Saludos!






You are not allowed to view links. Register or Login

Desconectado juliianc95

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #5 en: Noviembre 27, 2013, 03:54:47 pm »
Gracias hermano. me sirvio me dio esto:
Citar
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-1628/">
El Padrino
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-182745/">
Intocable
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-211083/">
One Direction: This Is Us
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-24944/">
Gladiator (El gladiador)
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-132874/">
El caballero oscuro. La leyenda renace
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-115362/">
El caballero oscuro
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-27070/">
El Señor de los Anillos: La Comunidad del Anillo
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-9393/">
La lista de Schindler
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-10568/">
Forrest Gump
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-126123/">
Toy Story 3
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-10126/">
Pulp Fiction
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-22092/">
El sexto sentido
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-196666/">
Los juegos del hambre: En llamas
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-6641/">
El silencio de los corderos
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-39186/">
El Señor de los Anillos: Las dos torres
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-190918/">
Django desencadenado
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-130440/">
Marvel Los Vengadores
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-13892/">
Seven
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-11736/">
Cadena perpetua
</a>
</h2>
<h2 class="tt_18 d_inline">
<a class="no_underline" title="" href="/peliculas/pelicula-39187/">
El Señor de los Anillos: El retorno del Rey
</a>
</h2>
ahora amigo como hago para sacar todos los href agregandole algo alante. por ejemplo:
sasasa.com/peliculas/pelicula-39187/"

gracias de antemano.

Conectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    10%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #6 en: Noviembre 27, 2013, 07:15:41 pm »
En ese caso tendría que guardar la dirección del la web en una variable y con otra expresión regular sacas los href y luego concatenas la dirección de la web con el href

Saludos!






You are not allowed to view links. Register or Login

Desconectado juliianc95

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #7 en: Noviembre 27, 2013, 08:06:55 pm »
Citar
En ese caso tendría que guardar la dirección del la web en una variable y con otra expresión regular sacas los href y luego concatenas la dirección de la web con el href

ok hermano pero tienes un ejemplo para entender mejor? gracias de antemano.

Conectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    10%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #8 en: Noviembre 30, 2013, 11:14:04 pm »
You are not allowed to view links. Register or Login
Citar
En ese caso tendría que guardar la dirección del la web en una variable y con otra expresión regular sacas los href y luego concatenas la dirección de la web con el href

ok hermano pero tienes un ejemplo para entender mejor? gracias de antemano.

Código: Python
  1. # -*- coding: utf-8 -*-
  2.  
  3. import re
  4. import urllib
  5.  
  6. text = urllib.urlopen("http://www.sensacine.com/peliculas/en-cartelera/cines/").read()
  7. expresion = re.compile("(<h2.+?</h2>)", re.DOTALL)
  8. data = expresion.findall(text)
  9.  
  10. for u in data:
  11.     print "sasasa.com" + re.findall('<a.*?href="(.*?)".*?>', u)[0]

Saludos!






You are not allowed to view links. Register or Login

Desconectado juliianc95

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #9 en: Diciembre 01, 2013, 12:21:57 am »
Gracias hermano. Problema resuelto

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3261
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
"ayuda con fruitywifi-karma" no puedo activar el modulo karma.

Iniciado por cristobal92

Respuestas: 4
Vistas: 1126
Último mensaje Agosto 02, 2016, 12:03:45 pm
por cristobal92
[JAVA] Ayuda Sockets en Java

Iniciado por FERNANDX

Respuestas: 1
Vistas: 405
Último mensaje Abril 25, 2018, 08:49:50 pm
por Mortal_Poison
[Ayuda] Crear .zip o .rar de un "archivo"

Iniciado por Zentraedi

Respuestas: 5
Vistas: 1274
Último mensaje Marzo 03, 2017, 02:15:20 pm
por Zentraedi
Ayuda Metasploit "no session was created"

Iniciado por kush20

Respuestas: 3
Vistas: 272
Último mensaje Junio 03, 2018, 07:18:08 pm
por km0xu95