Título: Ordenar array perl y regex Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 8 Julio 2010, 14:59 pm Hola :)
Estoy intentando cojer unos links y unas imagenes tal que queden así ordenado el array: Dirección URL Enlace de imagen Dirección URL Enlace de imagen Así hasta que recorra el bucle y los encuentre todos. Problemas: No consigo que al recorrer el bucle los ponga ordenados y tampoco consigo que la expresión regular recoja el enlace de la imagen acuerdo a regex, los consigo todos pero todos los de la página. Recojo los enlaces de las imagenes con $Explorador->find_all_images() del módulo WWW:Mechanize. El tipo de html que esta especificado en el DOM de la página es este: Código
Y no consigo poner el link y la imagen que tiene debajo como he puesto arriba marcado en negrita. Pongo todo el script en perl. Código
Resumiendo: Consigo todos los enlaces que cumplen con el pattern scripts/runner\.php\?PA= pero lo que consigo es: 1.- Conseguir todos los enlaces de debajo de el enlace <img src=" ... " 2.- Ordenar los enlaces para que queden link y debajo el enlace Saludos, Título: Re: Ordenar array perl y regex Publicado por: ~ Yoya ~ en 8 Julio 2010, 19:11 pm No entiendo nada, explícate mejor, que es lo que quieres hacer y como estas tratando de hacerlo y si te ayudan por lo menos escribir que lo haz resuelto, porque si no dices nada es porque no haz resolvido nada...
Título: Re: Ordenar array perl y regex Publicado por: Shell Root en 8 Julio 2010, 20:24 pm Ok, entonces el resultado sería algo como estó:
Dirección URL: :http://valeptr.com/scripts/runner.php?REDIRECT=http%3A%2F%2Fwww.e-qoo2.net%2Fimages%2Fbanner2.gif&hash=fc93bac327d1672abbe159e0a1fc17cd Enlace de imagen: :http://valeptr.com/scripts/runner.php?PA=4749 Veré que puedo hacer, aunque tal vez lo haga en PHP... :P :silbar: Título: Re: Ordenar array perl y regex Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 8 Julio 2010, 22:52 pm No entiendo nada, explícate mejor, que es lo que quieres hacer y como estas tratando de hacerlo y si te ayudan por lo menos escribir que lo haz resuelto, porque si no dices nada es porque no haz resolvido nada... Haber mi idea es hacer un bucle en el cual aplicando expresiones regulares coja el enlace y la imagen que esta abajo , es decir, el enlace esta al principio y después ponga la imagen tal cual lo he puesto al principio del hilo y después y las ponga en un array así: Enlace Imagen Un ejemplo de como quiero hacerlo esta al principio del hilo, lo que tengo hecho es cojer el enlace aplicando expresiones regulares pero la imagen no lo se hacer para que se quede como he puesto arriba el array. Espero haberme explicado, Gracias por las molestias, Saludos :) Título: Re: Ordenar array perl y regex Publicado por: ~ Yoya ~ en 8 Julio 2010, 23:44 pm Vaya vaya, lo eh logrado... Como me a costado pero lo he hecho!!!. Me a causado un dolor de cabesa pensando como lo podría organizar pero aquí lo tienes y algunos conejitos...
Vasta con declarar un modulo porque uno llama otro sin necesidad de declararlo... Citar yoya@yoya-desktop:~/Escritorio$ time perl a.pl real 0m1.046s user 0m0.292s sys 0m0.016s yoya@yoya-desktop:~/Escritorio$ time perl a.pl real 0m0.994s user 0m0.264s sys 0m0.040s El primero es con lo dos modulo y el segundo un solo... Aqui el code: Código
Salida: Código: yoya@yoya-desktop:~/Escritorio$ perl a.pl Url-> http://foro.elhacker.net/.xml.html;sa=news;board=34;limit=10;type=rss Img-> http://foro.elhacker.net/Themes/converted/selogo.jpg Url-> http://foro.elhacker.net/Themes/converted/css/style.css Img-> http://foro.elhacker.net/Themes/converted/der_logo.jpg Url-> http://www.elhacker.net Img-> http://foro.elhacker.net/Themes/converted/images/spanish/home.gif Url-> http://foro.elhacker.net/login.html Img-> http://foro.elhacker.net/Themes/converted/images/spanish/help.gif Url-> http://foro.elhacker.net/register.html Img-> http://foro.elhacker.net/Themes/converted/images/spanish/login.gif Url-> http://foro.elhacker.net/activate.html Img-> http://foro.elhacker.net/Themes/converted/images/spanish/register.gif Pd: Si no entiendes algo me avisas por este mismo Post y responder el post si te a funcionado... Saludos! Título: Re: Ordenar array perl y regex Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 9 Julio 2010, 01:12 am Buenas he estado probando el código y con esta página funciona pero con la página web que quiero hacerlo funcionar no funciona:
Le he añadido url_abs_regex => pero no lo consigo. El problema esta en que se muestran todos los enlaces y entonces al haber tantos enlaces por logica se acaban las imagenes y salen en blanco como en esta imagen. Aqui coje todos los enlaces sin mirar la expresión regular (http://r.i.elhacker.net/cache?url=http://img338.imageshack.us/img338/4412/pantallazo1xs.th.png) (http://img338.imageshack.us/i/pantallazo1xs.png/) (http://r.i.elhacker.net/cache?url=http://img517.imageshack.us/img517/3466/pantallazomo.th.png) (http://img517.imageshack.us/i/pantallazomo.png/) El problema está en que no coje bien la expresión regular. PD: Gracias por el tips, esos tiempos de cpu hay que reducirlos al máximo Gracias, Saludos, Título: Re: Ordenar array perl y regex Publicado por: ~ Yoya ~ en 9 Julio 2010, 03:46 am Tienes que leer un poco la documentación del modulo mechanize...
Tienes dos opción para aplicarle expresiones regulares al array que contiene los links y también el que contiene las imágenes. Puedes usar url_regex => qr/regex/ tanto para links y imagenes... O simplemente le aplicas expresiones regulares al array que contiene los links y imagenes... Aplicando expresiones regulares a arrays (http://foro.undersecurity.net/read.php?10,6696) Para el otro problema, si existe mas links que imágenes o viceversa, puedes usar un if() o puedes crear una función y usar un poco de lógica xD. Ej: Código
Salida: Código: yoya@yoya-desktop:~/Escritorio$ perl s.pl 0 1 2 3 4 |