Как я могу извлечь URL и текст ссылки из HTML в Perl? - PullRequest
20 голосов
/ 31 октября 2008

Ранее я спрашивал, как это сделать в Groovy. Однако теперь я переписываю свое приложение на Perl из-за всех библиотек CPAN.

Если на странице содержались следующие ссылки:

<a href="http://www.google.com">Google</a>

<a href="http://www.apple.com">Apple</a>

Вывод будет:

Google, http://www.google.com
Apple, http://www.apple.com

Каков наилучший способ сделать это в Perl?

Ответы [ 11 ]

0 голосов
/ 29 января 2013

Мы можем использовать регулярное выражение для извлечения ссылки с ее текстом ссылки. Это также один из способов.

local $/ = '';
my $a = <DATA>;

while( $a =~ m/<a[^>]*?href=\"([^>]*?)\"[^>]*?>\s*([\w\W]*?)\s*<\/a>/igs )
{   
    print "Link:$1 \t Text: $2\n";
}


__DATA__

<a href="http://www.google.com">Google</a>

<a href="http://www.apple.com">Apple</a>
...