Как выбрать ссылку из ссылок, проанализированных со страницы HTML - PullRequest
0 голосов
/ 30 апреля 2018

Вот скрипт, который я хочу изменить

#!/usr/bin/perl

use if $^O eq "MSWin32", Win32::Console::ANSI;

use Term::ANSIColor;
use LWP::UserAgent;
use LWP::Simple;
use HTML::TreeBuilder;

my $ua = LWP::UserAgent->new();

use open ':std', ':encoding(UTF-8)';

for ( $n = 0 ) {

    $search_quote = "Darling";

    my $mal      = "https://myanimelist.net/search/all?q=$search_quote";
    my $response = $ua->request(HTTP::Request->new(GET => $mal));
    my $rrs      = $response->content;

    while ( $rrs =~ m/href=\"https:\/\/myanimelist.net\/anime\/(.*?)\" class=\"hoverinfo_trigger fw-b fl-l\"/g ) {

        my $link = $1;

        if ( $link !~ /video|season?_location=mal_h_m/ ) {

            $n += 1;

            print item("$n"),
                  item("ANIME LINK"),
                  ("https://myanimelist.net/$link\n");

            my $base = 'https://myanimelist.net/anime/';
            my $page = get($base . $link) or die $!;
            my $p    = HTML::TreeBuilder->new_from_content($page);

            my @trips = $p->look_down(_tag=>'span',itemprop=>'name')->as_text;

            foreach my $trip ( @trips ) {
                print item("-"), item("ANIME NAME"), "$trip\n\n";
            }
        }
    }

    animelink();
}

sub animelink {
    print colored ("[!] What Anime you want to see?\n", "red");
    print colored ("[!] Number :", "red");

    my $animenumber = <STDIN>;
    chomp($animenumber);
}

sub item {
    my $n = shift // '+';

    return
        color('bold white'), " [",
        color('bold blue'), "$n",
        color('bold white'), "] ",
        color("bold white");
}

Мне нужен способ выбрать проанализированную ссылку, используя номер $n. Я пытался использовать

if ( $animenumber eq $n )

но это не работает.

Как выбрать ссылку из проанализированных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...