Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: asdexiva en 18 Junio 2015, 20:05 pm



Título: encotrar numero en pagina mechanize regular expresion
Publicado por: asdexiva en 18 Junio 2015, 20:05 pm
 
Código:
  patterns = [ 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40 ]
   respuesta=br.response().read()
   for pattern in patterns:
      if re.search(pattern,  respuesta):
         print  li + ":" + lin +'no'
      else:
         print  (li + ":" + lin + 'si')
         r = br.open(url3)

alguien me puede dar una idea para que una expresion regular revise en la pagina si ay un numero por ejemplo del 25 al 50  y si ay que imprima no de lo contrario si es mayor a esos numeros imprima si

si alguien me pudiera ayudar gracias me estoy rompiendo la cabeza de como hacerlo no me doy una idea


Título: Re: encotrar numero en pagina mechanize regular expresion
Publicado por: engel lex en 18 Junio 2015, 20:26 pm
estás usando las regexp mal...

las regex son para busquedas de cadenas de caracteres no de condiciones numericas... en tal caso puedes hacer un regexp que busque numeros y uses if para comparar si el numero conseguido está en tu rango deseado


Título: Re: encotrar numero en pagina mechanize regular expresion
Publicado por: explorer en 20 Junio 2015, 23:32 pm
Sí que se pueden usar exp. reg. para buscar lo que quieres. Te pongo un ejemplo escrito en Perl, ya que en Python no sé cómo se pueden usar las exp. reg. extendidas:
Código
  1. #!/usr/bin/perl
  2. $html = <<'HTML';
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7. <p>Un párrafo con número: 42</p>
  8. </body>
  9. </html>
  10. HTML
  11.  
  12. $html =~ /(\d+)(?(?{ $^N >= 25 and $^N <= 50 })(?{print "sí\n"})|(?{print "no\n"}))/;
Como ves, el truco consiste en capturar una cifra, y compararla con los límites que queremos, y el resultado imprimirlo inmediatamente.

Escrito de forma más clara:
Código
  1. #!/usr/bin/perl  
  2. $html = <<'HTML';
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7. <p>Un párrafo con número: 42</p>
  8. </body>
  9. </html>
  10. HTML
  11.  
  12. $html =~
  13.        /
  14.        (\d+)                                           # capturar números
  15.        (?(?{
  16.                        $^N >= 25 and $^N <= 50         # ¿está dentro de los límites?
  17.                })
  18.                (?{
  19.                        print "sí\n"                    # sí
  20.                })
  21.                |  
  22.                (?{
  23.                        print "no\n"                    # no
  24.                })
  25.        )  
  26.        /x;


Título: Re: encotrar numero en pagina mechanize regular expresion
Publicado por: engel lex en 21 Junio 2015, 04:59 am
el regex extendido, no está ampliamente soportado :s... creo que eso lo soporta python 3, pero no 2