【发布时间】:2011-03-16 04:51:27
【问题描述】:
我被困在这个问题上并且已经一整天了..我对在 perl 中解析/抓取仍然很陌生,但我认为直到这个..我一直在尝试使用不同的 perl 模块(tokeparser , tokeparser:simple, web parser and some others)...我有以下字符串(实际上是整个HTML页面,但这只是显示相关部分..我正在尝试提取“text1”和“ text1_a”.. 等等(“text1”等只是作为示例放在那里)...所以基本上我认为我需要先从每个中提取:
"<span style="float: left;">test1</span>test1_a"
然后解析它以获取 2 个值。我不知道为什么这给我带来了这么多麻烦,因为我认为我可以在 tokeparser:simple 中做到这一点,但我似乎无法返回里面的值的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';
我只是有点盲目地试图理解 web:parser 模块,因为它基本上没有文档,所以我只是从模块中包含的示例和我在互联网上找到的示例拼凑而成。 . 任何建议都非常感谢。
【问题讨论】:
标签: perl parsing web-scraping