0
我想從HTML頁面中只提取文本,並且想要忽略或繞過html轉義符號「<」和「 >「。我複製的一部分,我用於提取文本的html頁面:如何繞過HTML轉義符號和僅從HTML文件中提取文本使用web :: scraper的Perl文件
<table class="reference">
<tr>
<th align="left" width="25%">Tag</th>
<th align="left" width="75%">Description</th>
</tr>
<tr>
<td><a href="tag_comment.asp"><!--...--></a></td>
<td>Defines a comment</td>
</tr>
<tr>
<td><a href="tag_doctype.asp"><!DOCTYPE></a> </td>
<td>Defines the document type</td>
</tr>
<tr>
<td><a href="tag_a.asp"><a></a></td>
<td>Defines a hyperlink</td>
</tr>
<tr>
<td><a href="tag_abbr.asp"><abbr></a></td>
<td>Defines an abbreviation</td>
</tr>
<tr>
...
我的Perl代碼:
my $urlToScrape = "http://www.w3schools.com/tags/";
# prepare data
my $teamsdata = scraper {
process "table.reference > tr > td > a ", 'tags[]' => 'TEXT';
process "table.reference > tr > td > a ", 'urls[]' => '@href';
};
# scrape the data
my $res = $teamsdata->scrape(URI->new($urlToScrape));
print "<HTML_tags>\n";
for my $i (0 .. $#{$res->{urls}}) {
print FILE " <tag_Name> $res->{tags}[$i] </tag_Name>\n ";
}
print "</HTML_tags>\n";
輸出我得到的是以下幾點:
<HTML_tags>
<tag_Name> <!--...--> </tag_Name>
<tag_Name> <!DOCTYPE> </tag_Name>
<tag_Name> <a> </tag_Name>
<tag_Name> <abbr> </tag_Name>
</HTML_tags>
而我想輸出爲:
<HTML_tags>
<tag_Name> !--...-- </tag_Name>
<tag_Name> !DOCTYPE </tag_Name>
<tag_Name> a </tag_Name>
<tag_Name> abbr </tag_Name>
</HTML_tags>
任何人都可以告訴我必須改變什麼以獲得上述輸出? 非常感謝。
非常感謝。它爲我工作。你能告訴我這裏的/ s是什麼意思嗎?我知道/ g,它將「當前字符串」中的任何確切字符序列'<>'替換爲空白。 – user2027571 2013-03-06 21:37:14