Я застрял в этом и был весь день .. Я все еще довольно новичок в разборе/выскабливании в perl, но я думал, что все это было до сих пор. Я пробовал это с помощью разных модулей perl (tokeparser, tokeparser: простой, веб-парсер и некоторые другие) ... У меня есть следующая строка (которая на самом деле представляет собой целую HTML-страницу, но это просто показывает соответствующую часть. Я пытаюсь извлечь «text1» и «text1_a ».. и так далее („text1“, и т.д. просто положить туда в качестве примера) ... так что в основном я думаю, что мне нужно, чтобы извлечь это первый из каждого:Perl web scraper, извлекать контент из DIV, который имеет только тег «style»?
"<span style="float: left;">test1</span>test1_a"
Затем разобрать это получить 2 значения .. Я не знаю, почему это причиняет мне столько неприятностей, как я думал, что могу просто сделать это в tokeparser: простой, но я не мог бы вернуть значение внутри DIV, интересно, если его, потому что он содержит еще один набор тегов (значения тегов)
строка (представляет собой HTML веб-страницы)
<div id="dataID" style="font-size: 8.5pt; width: 250px; color: rgb(0, 51, 102); margin-right: 10px; float: right;">
<div style="width: 250px; text-align: right;"><span style="float: left;">test1</span>test1_a</div>
<div style="width: 250px; text-align: right;"><span style="float: left;">test2</span>test2_a</div>
<div style="width: 250px; text-align: right;"><span style="float: left;">test3</span>test3_a</div>
моя попытка в PERL модуль веб-анализатора:
my $uri = URI->new($theurl);
my $proxyscraper = scraper {
process 'div[style=~"width: 250px; text-align: right;"]',
'proxiesextracted[]' => scraper {
process '.style', style => 'TEXT';
};
result 'proxiesextracted';
Я просто слепо пытаюсь понять веб-сайт: модуль парсера, поскольку на нем нет документации, поэтому я просто собрал это вместе из примеров, которые они включили в модуль, и тот, который я нашел в Интернете. . Любые советы высоко ценится.
Спасибо .. да, я просто растерялся относительно того, какой парсер правильно использовать, поскольку там есть разные ... Я буду смотреть на это, спасибо, что нашли время to post :) – Rick
HTML :: TreeBuilder - единственный, который я использую. Он отлично справляется с плохим HTML и значительно проще в использовании и быстрее развивается. Tokeparsing, однако, намного быстрее, если ваша задача такая простая, но скорость, вероятно, не имеет значения. –
Да, скорость не имеет значения ... Я согласен с tokeparser, я думаю, что это плохо для обработки плохого HTML, поэтому это давало мне проблемы на этом .. спасибо за вашу помощь в этом, я собираюсь изучить treebuilder in и out now :) – Rick