Я застрял на этом и был весь день .. Я все еще довольно плохо разбираюсь в синтаксическом анализе / перескакивании в Perl, но я думал, что до этого у меня это было .. Я пробовал это с разными модулями Perl (tokeparser , tokeparser: simple, web parser и некоторые другие) ... У меня есть следующая строка (которая на самом деле представляет собой целую страницу HTML, но это просто показывает соответствующую часть .. Я пытаюсь извлечь "text1" и " text1_a ".. и т. д. (" text1 "и т. д. просто приведены в качестве примера) ... так что в основном я думаю, что мне нужно извлечь это сначала из каждого:
"<span style="float: left;">test1</span>test1_a"
Затем, чтобы разобрать это, чтобы получить 2 значения. Я не знаю, почему это доставляет мне столько хлопот, как я думал, что могу просто сделать это в tokeparser: просто, но я не могу вернуть значение внутри мне интересно, если он, потому что он содержит другой набор тегов (теги)
строка (представляет 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';
Я просто слепо пытаюсь разобраться в модуле web: parser, так как на нем практически нет документации, поэтому я собрал это воедино из примеров, включенных в этот модуль, и одного, который я нашел в Интернете. Любой совет с благодарностью.