Как я могу извлечь данные таблицы HTML с помощью Perl? - PullRequest
3 голосов
/ 21 декабря 2009

Мне нужно получить некоторые данные с веб-страницы. Проанализировав HTML-код страницы, я обнаружил, что нужные мне данные помещаются в таблицу с уникальным идентификатором таблицы. Я не знаю, является ли это правилом HTML или нет, в любом случае, я думаю, это очень хорошо для анализа.

Данные в таблице расположены следующим образом (различные атрибуты и теги опущены, чтобы дать вам четкую «структуру данных»)

<table .... id = "tablename" .... >
    <tr>
         <td .... >filed1</td>
             ....
         <td .... >filedn</td>
    </tr>
         #several "trs" here
    <tr>
         <td .... >filed1</td>
             ....
         <td .... >filedn</td>
    </tr>
</table>

Так что мой вопрос в том, как использовать утилиту парсера HTML для Perl, чтобы удовлетворить мои потребности в этом случае.

Заранее спасибо.

Ответы [ 4 ]

12 голосов
/ 21 декабря 2009

HTML :: TableExtract звучит точно так же, как вы ищете.

2 голосов
/ 21 декабря 2009

Использование HTML :: Таблица .

0 голосов
/ 21 декабря 2009

Вы можете попробовать что-то вроде этого:

my $html = '<html code....';

$html =~ s/^.*(<table id="tablename">.*<\/table>).*/$1/s;
0 голосов
/ 21 декабря 2009

Посмотрите на Кена Макфарлана, разбирающего HTML с HTML :: Parser in The Perl Journal . Я не уверен, что это тот парсер, на который вы ссылаетесь, но похоже, что он может делать то, что вы хотите, или, по крайней мере, указать вам правильное направление.

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