Página 1 de 1

Yanick yenzie: Making Simple Things Easy

NotaPublicado: 2013-02-11 19:46 @865
por explorer
«Pregunta: Existe una página web con un listado con un montón de archivos PDF. ¿Existe alguna manera de bajarlos todos y, mientras se hace, recogerles todos en un solo documento?»

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/env perl
  2.  
  3. # uso: $0 <la_url>
  4.  
  5. use 5.16.0;
  6.  
  7. use Web::Query;
  8. use LWP::Simple;
  9. use Path::Tiny;
  10. use List::AllUtils qw/ reduce /;
  11. use CAM::PDF;
  12.  
  13. ( reduce { $a->appendPDF($b); $a } @{
  14.     wq( $ARGV[0] )
  15.     ->find('a')
  16.     ->filter( sub {
  17.         $_[1]->attr('href') =~ /\.pdf$/;
  18.     })
  19.     ->map( sub {
  20.         my $temp = Path::Tiny->tempfile;
  21.         $temp->spew( get( $_[1]->attr('href') ) );
  22.         CAM::PDF->new($temp);
  23.     })
  24. }) ->cleanoutput('agregado.pdf');
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Artículo