Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl;
- use warnings;
- use strict;
- use LWP::Simple;
- use LWP::UserAgent;
- use utf8;
- no warnings 'utf8';
- # Set up LWP object
- my $ua = LWP::UserAgent->new(timeout => 10);
- $ua->agent('Mozilla/5.0');
- # Start timer
- my $start = time;
- # Get urls from 'url_only.txt'
- my @url;
- my $fname_urls = glob('~/hmofa/pastebin/code_examples/goto_files/url_only.txt');
- open my $fh, '<' , $fname_urls ;
- while (my $line = <$fh>) {
- $line =~ m/https:\/\/pastebin.com\/[^\s]+/;
- push @url, $&;
- }
- close $fh;
- # Check if $dirname is available
- my $dirname = 'archive';
- my $DestFolder = glob('~/hmofa/pastebin/Pastebin_Archives/' . $dirname);
- my $FileNumber = 2;
- if (-d $DestFolder) {
- while (-d $DestFolder . '_' . $FileNumber ) {
- $FileNumber++;
- }
- $DestFolder = $DestFolder . '_' . $FileNumber;
- }
- print $DestFolder;
- mkdir $DestFolder;
- # Fetch and Store html files
- my @fh; # will store the filehandles.
- my @html;
- my $i=0;
- for (@url) {
- my $response = $ua->get($_);
- push @html, $response->decoded_content;
- my $start = time;
- open $fh[$i], '>', $DestFolder . "/file-$i" or die $!;
- if ($html[$i]) {
- print {$fh[$i]} $html[$i];
- }
- else {
- my $DeadString = $_ . "\n" . "DEAD_LINK";
- print {$fh[$i]} $DeadString;
- }
- close $fh[$i];
- $i++;
- while ( (time - $start) < 2){}
- }
- my $duration = time - $start; print "\nExecution Time: $duration s\n";
Add Comment
Please, Sign In to add comment