Как извлечь ссылки из файла HTML с помощью Perl? - PullRequest
0 голосов
/ 27 мая 2009

У меня есть вклад со ссылкой, и я хочу открыть эту ссылку. Например, у меня есть файл HTML, и я хочу найти все ссылки в этом файле и открыть их содержимое в электронной таблице Excel.

Ответы [ 4 ]

5 голосов
/ 27 мая 2009

Похоже, вы хотите скрипт linktractor из моего HTML :: SimpleLinkExtor модуля.

Вас также может заинтересовать мой скрипт webreaper . Я написал, что давным-давно, чтобы сделать что-то близко к этой же задаче. Я не очень рекомендую это, потому что другие инструменты теперь намного лучше, но вы можете по крайней мере взглянуть на код.

CPAN и Google - ваши друзья. :)

Mojo :: UserAgent тоже неплохо подходит для этого:

use Mojo::UserAgent

print Mojo::UserAgent
    ->new
    ->get( $ARGV[0] )
    ->res
    ->dom->find( "a" )
    ->map( attr => "href" )
    ->join( "\n" );
1 голос
/ 19 февраля 2016

Существует также Web :: Query :

#!/usr/bin/env perl 

use 5.10.0;

use strict;
use warnings;

use Web::Query;

say for wq( shift )->find('a')->attr('href');

Или из кли:

$ perl -MWeb::Query -E'say for wq(shift)->find("a")->attr("href")' \
       http://techblog.babyl.ca
1 голос
/ 27 мая 2009

Звучит как работа для WWW :: Mechanize . Он обеспечивает интерфейс довольно высокого уровня для извлечения и изучения веб-страниц.

Как только вы прочитаете документы, я думаю, у вас будет хорошая идея, как это сделать.

0 голосов
/ 20 февраля 2016

Я использовал URI :: Find для этого в прошлом (для случая, когда файл не является HTML).

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