2009-12-21 3 views
3

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

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

<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 утилита для удовлетворения моих потребностей в этом случае.

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

ответ

-1

Посмотрите на Parsing HTML with HTML::Parser от Ken MacFarlane в Журнал Perl. Я не уверен, что это парсер, о котором вы говорите, но похоже, что он может делать то, что вы хотите, или, по крайней мере, указывать на вас в правильном направлении.

+0

Вам не нужно вдаваться в HTML :: Parser для этого. На нем есть много инструментов, которые должны быть в состоянии справиться с работой. –

-4

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

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

$html =~ s/^.*(<table id="tablename">.*<\/table>).*/$1/s; 
+2

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

Смежные вопросы