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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  <Python> Regexp? Dudas con peticiones web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: <Python> Regexp? Dudas con peticiones web  (Leído 4,028 veces)
xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
<Python> Regexp? Dudas con peticiones web
« en: 12 Abril 2010, 23:00 pm »

Bueno, vuelvo con dudas en Python! :-\


Veamos, yo hago una petición a una web con urllib algo así:

Código
  1. #!/usr/bin/env python
  2.  
  3. import urllib
  4.  
  5. peticion = urllib.urlopen("http://www.web.com").read()
  6.  

Y en el código de esa web quiero buscar unas URL con una estructura así:

Citar
Donde "XXXX" son números

Que en HTML aparecerían así:
Código
  1. <a href="http://www.web.com/codigo.php?variable=XXXX">
  2.  

Para eso hago algo así:
Código
  1. if '<a href="http://www.web.com/codigo.php?variable=' in peticion:
  2. print "Contiene esas URL"
  3. else:
  4. print "No contiene ese tipo de URL"
  5.  

Bien, esto funciona. Pero ahora es cuando quiero guardar el número de esos link en una variable o en un array para poder operar con ellos (ya que en la web puede haber más de uno).

He intentado hacer algo con regexp y [0-9] pero no consigo hacer nada >.<""


Alguna idea?


« Última modificación: 12 Abril 2010, 23:01 pm por xassiz » En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: <Python> Regexp? Dudas con peticiones web
« Respuesta #1 en: 12 Abril 2010, 23:42 pm »

Pon el código que has intentado

Para coger los numéros, necesitarías alguna regex como esta:
Código:
my $string = '<a href="http://www.web.com/codigo.php?variable=1234">';
$string =~ m/.*=(\d+).*\>$/g;

\d : Digito.
+ : Uno o más elementos.
$ : Fín de línea

Si pones solo [0-9], significa solo un digito, un digito de 0 a 9, no una serie de digitos.

Sé que es Perl, solo habría que adaptarlo un poco a código python y ya.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: <Python> Regexp? Dudas con peticiones web
« Respuesta #2 en: 13 Abril 2010, 01:16 am »

Seria algo como estó?
Código
  1. <?PHP /* PoC */
  2. $strCadena = "<a href='http://www.shellroot.com/index.php?id=1'>URL</a>
  3. <a href='http://www.shellroot.com/index.php?id=2'>URL</a>
  4. <a href='http://www.shellroot.com/index.php?id=3'>URL</a>
  5. <a href='http://www.shellroot.com/index.php?id=4'>URL</a>
  6. <a href='http://www.shellroot.com/index.php?id=5'>URL</a>
  7. <a href='http://www.shellroot.com/index.php?id=6'>URL</a>
  8. <a href='http://www.shellroot.com/index.php?id=7'>URL</a>
  9. <a href='http://www.shellroot.com/index.php?id=8'>URL</a>";
  10.  
  11. $strPalabras = preg_split("/id=/", $strCadena);
  12.  
  13. for($i=1;$i<=count($strPalabras);$i++){
  14. echo preg_replace('/(\D+)/', '', $strPalabras[$i]).', ';
  15. }  
  16.  
  17. ?>

Resultado:
Código:
1, 2, 3, 4, 5, 6, 7, 8, , 
En línea

Te vendería mi talento por poder dormir tranquilo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
RegExp Numero de string [Python]
Scripting
Ricardo95 1 3,620 Último mensaje 15 Abril 2011, 00:46 am
por Novlucker
Dudas en Python
Scripting
Fyrox 6 3,871 Último mensaje 24 Agosto 2011, 00:49 am
por Fyrox
Generador peticiones https PYTHON
Scripting
LaiaxanIV 1 2,643 Último mensaje 12 Mayo 2016, 08:22 am
por fary
Bot sencillo de conexión inversa vía peticiones POST [Python / PHP]
Scripting
skollprog 3 3,522 Último mensaje 9 Enero 2018, 23:32 pm
por Flamer
Dudas sobre peticiones vía satélite a un dispositivo movil
Dudas Generales
Petas696 0 1,718 Último mensaje 9 Mayo 2018, 00:04 am
por Petas696
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines