From 8abb5a7bbf57e6963816753d52aae400e9740285 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 20 May 2010 19:28:20 +0200 Subject: Initial commit --- bin/comirror | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 bin/comirror diff --git a/bin/comirror b/bin/comirror new file mode 100755 index 0000000..d03e3af --- /dev/null +++ b/bin/comirror @@ -0,0 +1,76 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.010; + +use WWW::Mechanize; + +my $mech = WWW::Mechanize->new( + stack_depth => 0, +); + +sub usage { + die("Usage: comirror \n"); +} + +sub find_next_link { + foreach my $re ( + qr{ ^ next $ }ix, + qr{ next }ix, + ) + { + my $link = $mech->find_link(text_regex => $re); + if ($link) { + return $link; + } + } + die("Cannot find next link\n"); +} + +my $uri = shift or usage(); + +while ( + $mech->get($uri) + and $mech->success() + and $mech->status() == 200 + ) +{ + say $mech->uri(); + + $uri = find_next_link->url(); + + if ($uri == $mech->uri) { + die("Looks like we're in a loop, bailing out\n"); + } + + sleep(1); +} + + + + +__END__ + +=head1 NAME + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +=head1 OPTIONS + +=head1 EXIT STATUS + +=head1 CONFIGURATION + +=head1 DEPENDENCIES + +=head1 BUGS AND LIMITATIONS + +=head1 AUTHOR + +Copyright (C) 2010 by Daniel Friesel Ederf@chaosdorf.deE + +=head1 LICENSE + + 0. You just DO WHAT THE FUCK YOU WANT TO. -- cgit v1.2.3