[Moscow.pm] MozRepl

Nikolay Mishin mi на ya.ru
Сб Апр 11 17:49:13 PDT 2015


с чтения документации,
а так там все просто,
1. ставишь дополнения mozrepl 
для firefox
2. ставишь в его настройках
activate on startup
3. далее
пишешь скрипт
наподобие этого

use Modern::Perl;
use charnames ':full';
binmode( STDOUT, ":utf8" );
use WWW::Mechanize::Firefox;
use URI::Split qw( uri_split uri_join );
use Try::Tiny;
 
my $url  = 'http://yandex.ru/';
my $stop = 10;
backup_url_from_page( $url, $stop );
 
sub backup_url_from_page {
    my ( $url, $stop ) = @_;
    my $mech = WWW::Mechanize::Firefox->new( tab => 'current', );
    $mech->get($url);
    sleep 4;
 
    my $collection = collect_all_links_tag($mech);
 
    while ( my ( $file_name, $url ) = each( %{$collection} ) ) {
        try {
            $mech->get($url);
            $mech->save_content( $file_name, $file_name . 'files' );
            say "url $url successfully saved in $file_name";
        }
        catch {
            warn "caught error: $_ url \n $url not saved in file $file_name";
        };
        last if --$stop == 0;
    }
 
}
 
sub collect_all_links_tag {
    my $mech = shift;
    my %collection;
 
    for ( $mech->selector('a') ) {
        my $name = $_->{innerHTML};
        my $href = $_->{href};
        my ( $scheme, $auth, $path, $query, $frag ) = uri_split($href);
        $path =~ s{/}{_}g;
        if ( $path !~ /.*[.](htm|html)$/i ) {
            $path = $path . ".html";
        }
        $collection{$path} = $href;
    }
    return ( \%collection );
}

https://gist.github.com/mishin/5925468
я тут через firefox скачивал первые 10 линков из поиска яндекса
как-то так,
по сути
это perl интерфейс к javascript библиотеке

http://www.slideshare.net/pavelscherbinin/perl-fornotprogrammersnikolaymishin

80-й слайд

11.04.2015, 22:39, "Кузьменко Константин" <ikkv на yandex.ru>:
> Доброго времени суток,
> Дорогой Moscow.pm
> C чего начать с mozRepl?
>
> --
> Специалист IT, GNU, FLOSS, Open Source
> Моб: +7 (951) 131 33 90
> С уважением,
> Кузьменко Константин Викторович
>
> ,
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
С уважением
Николай Мишин



Подробная информация о списке рассылки Moscow-pm