Bueno, vuelvo con dudas en Python! :-\
Veamos, yo hago una petición a una web con urllib algo así:
#!/usr/bin/env python
import urllib
peticion = urllib.urlopen("http://www.web.com").read()
Y en el código de esa web quiero buscar unas URL con una estructura así:
Citarhttp://www.web.com/codigo.php?variable=XXXX
Donde "XXXX" son númerosQue en HTML aparecerían así:
<a href="http://www.web.com/codigo.php?variable=XXXX">
Para eso hago algo así:
if '<a href="http://www.web.com/codigo.php?variable=' in peticion:
print "Contiene esas URL"
else:
print "No contiene ese tipo de URL"
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?
Pon el código que has intentado
Para coger los numéros, necesitarías alguna regex como esta:
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.
Seria algo como estó?
<?PHP /* PoC */
$strCadena = "<a href='http://www.shellroot.com/index.php?id=1'>URL</a>
<a href='http://www.shellroot.com/index.php?id=2'>URL</a>
<a href='http://www.shellroot.com/index.php?id=3'>URL</a>
<a href='http://www.shellroot.com/index.php?id=4'>URL</a>
<a href='http://www.shellroot.com/index.php?id=5'>URL</a>
<a href='http://www.shellroot.com/index.php?id=6'>URL</a>
<a href='http://www.shellroot.com/index.php?id=7'>URL</a>
<a href='http://www.shellroot.com/index.php?id=8'>URL</a>";
$strPalabras = preg_split("/id=/", $strCadena);
for($i=1;$i<=count($strPalabras);$i++){
echo preg_replace('/(\D+)/', '', $strPalabras[$i]).', ';
}
?>
Resultado:
1, 2, 3, 4, 5, 6, 7, 8, ,