• Publicidad

Expresión Regular para Bing

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Expresión Regular para Bing

Notapor seguridadenmimail » 2012-05-23 18:07 @797

Estimados, tengo el siguiente script el cual solamente me entrega un dominio y no todos los que aparecen, ¿me pueden ayudar?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use LWP::UserAgent;
  2. use HTTP::Request;
  3.  
  4. $ua = LWP::UserAgent->new;
  5. $ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");
  6.  
  7. $url = "http://www.bing.com/search?q=ip:67.222.152.26";
  8.  
  9. $req = HTTP::Request->new(GET => $url);
  10. $response = $ua->request($req);
  11. $content = $response->content();
  12.  
  13.  if($content =~ m/<cite>(.*?)<\/cite>/) {
  14.         push (@res,$1);
  15.     }
  16.  
  17. foreach $res(@res) {
  18.         print $res. "\n";
  19. }
  20.  
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4


Saludos.
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Publicidad

Re: Expresión Regular para Bing

Notapor explorer » 2012-05-23 18:41 @820

Cambia la línea 13 por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. while ($content =~ m/<cite>(.*?)<\/cite>/g) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Expresión Regular para Bing

Notapor seguridadenmimail » 2012-05-23 18:48 @825

Muchas Gracias.

¿Hay forma de que corte luego de la última barra?

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
144000.net
en.144000.net
foundation.144000.net
yadalei.com
pearls.144000.net
en.144000.net/articles/when_was_jesus_born.htm
es.144000.net/articulos/inicio_el_origen_de_las_influencias_del_mal_consecuencia_de...
healinginyou.144000.net
http://www.gamingbaboons.com/store/_support
es.144000.net/articulos/por_orden_del_emperador_la_evidencia_cientifica_casos_document...
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Así solamente tendré los dominios.
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Re: Expresión Regular para Bing

Notapor explorer » 2012-05-23 19:03 @835

Creo que quieres decir la primera barra, no la última.

Sería algo así (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.     while ($content =~ m/<cite>(.*?)(?:\/|<\/cite>)/g) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Quizás más claro:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.     while ($content =~ m{<cite>(.*?)(?:/|</cite>)}g) {
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


P.D. Una buena oportunidad para que comiences a aprender Expresiones Regulares.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Expresión Regular para Bing

Notapor seguridadenmimail » 2012-05-23 19:05 @837

Muchas Gracias.
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Re: Expresión Regular para Bing

Notapor seguridadenmimail » 2012-08-09 13:43 @613

Pude terminar el script pero ahora tengo un problema, algunos resultados quedan duplicados.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $use_list = {
  2.     'LWP::UserAgent' => undef,
  3.     'HTTP::Request'  => undef,
  4. };
  5.  
  6. if ( can_load( modules => $use_list ) ) {
  7. }
  8. else {
  9.     print 'Falló carga de los móos requeridos:\n- LWP::UserAgent\n- HTTP::Request\n';
  10.     exit();
  11. }
  12.  
  13. use LWP::UserAgent;
  14. use HTTP::Request;
  15.  
  16. if ( @ARGV != 1 ) {
  17.  
  18.     die "\nUso: $0 <IP>\n\n" . "   <IP>         x.x.x.x\n";
  19.  
  20. }
  21.  
  22. $host = $ARGV[0];
  23. chomp $host;
  24.  
  25. $ua = LWP::UserAgent->new;
  26. $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3");
  27.  
  28. ## Archivo con las IPs
  29. $file = $ARGV[0];
  30. chomp $archivo;
  31. open $FILE, '<', $file or die $!;
  32. @direccionesIP = <$FILE>;
  33. close $FILE;
  34.  
  35. for $host (@direccionesIP) {
  36.     chomp $host;
  37.  
  38. ##Reporte
  39.     open( F, ">> $host" );
  40.  
  41.     for ( $i = 0; $i < 10; $i++ ) {
  42.  
  43.         $url = "http://www.bing.com/search?q=ip:$host&go=&qs=n&sk=&sc=1&first=$i";
  44.  
  45.         $req      = HTTP::Request->new( GET => $url );
  46.         $response = $ua->request($req);
  47.         $content  = $response->content();
  48.  
  49.         while ( $content =~ m{<cite>(.*?)(?:/|</cite>)}g ) {
  50.             print F "$1\n";
  51.         }
  52.  
  53.     }
  54.     sleep(3);
  55. }
  56.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2012-08-09 15:37 @693, editado 1 vez en total
Razón: Formateado de código con Perltidy
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Re: Expresión Regular para Bing

Notapor explorer » 2012-08-09 15:43 @697

Una forma de eliminar las duplicidades es guardar los elementos como claves de un hash, y luego, sacar esas claves. Se garantiza que son únicas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Expresión Regular para Bing

Notapor seguridadenmimail » 2012-08-09 17:03 @752

Probé de la siguiente forma, pero no me funciona.

[...]
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. while ($content =~ m{<cite>(.*?)(?:/|</cite>)}g) {
  2.     push (@class,$1);
  3.         %seen = (); @class_uniq = grep { ! $seen{$_} ++ } @class;
  4.     }
  5.  
  6. }
  7. sleep (4)
  8. }
  9. foreach $class(@class_uniq) {
  10. print F $class;
  11. }
  12.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Re: Expresión Regular para Bing

Notapor explorer » 2012-08-10 02:58 @165

Hay que fijarse y entender lo que hace cada línea.

La programación no consiste en copiar y pegar trozos de código como si fueran trozos de tela :)

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my %seen;
  2. while ($content =~ m{<cite>(.*?)(?:/|</cite>)}g) {
  3.     $seen{$1}++;
  4. }
  5.  
  6. foreach $class (keys %seen) {
  7.     print F $class;
  8. }
  9.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Expresión Regular para Bing

Notapor seguridadenmimail » 2012-08-10 05:33 @273

gracias
seguridadenmimail
Perlero nuevo
Perlero nuevo
 
Mensajes: 69
Registrado: 2011-08-30 19:28 @853

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados