Разбор HTML с помощью Perl - PullRequest
       4

Разбор HTML с помощью Perl

1 голос
/ 06 сентября 2011

У меня есть следующий HTML-

<a href="http://address.com">John</a>: I really <b>love</b> <b>soccer</b>;

Я хочу разобрать его в CSV, где у меня будет

имя = Джон

комментарий = я действительно люблю футбол.

ключевые слова = любовь, футбол

в консольном приложении, любая помощь очень ценится.

Ответы [ 2 ]

11 голосов
/ 06 сентября 2011

В CPAN есть множество HTML-анализаторов, мой предпочтительный - HTML :: TreeBuilder :: XPath

Text :: CSV поможет вам сгенерироватьCSV из извлеченных данных.

4 голосов
/ 06 сентября 2011

Вот пример, как выполнить синтаксический анализ с HTML :: TreeBuilder :

use HTML::TreeBuilder;

my $html = HTML::TreeBuilder->new_from_content(<<END_HTML);
<a href="http://address.com">John</a>: I really <b>love</b> <b>soccer</b>;
END_HTML

my $name     = $html->find('a')->as_text;               # "John"
my @keywords = map { $_->as_text } $html->find('b');    # "love", "soccer"
my $comment  = $html->as_text;                          # "John: I really love soccer; "

Очистка $comment оставлена ​​как упражнение.

...