如何使HTML::TableExtract能够识别特殊字符



我试图解析一个包含科学符号(希腊语等)的页面。就是这一页。请注意,还有其他包含更多符号的页面需要解析。

例如,它包含以下HTML

<td> human Interleukin 1&beta;        </td>

,其中&beta编码希腊字母。

但是用HTML::TableExtract解析后,它变成了:

human Interleukin 1x{3b2} 

是否有办法使下面的代码捕获原来的HTML,因为它是,即维持1&beta

use HTML::TableExtract;
use Data::Dumper;
# Local file for http://www.violinet.org/vaxjo/vaxjo_detail.php?c_vaxjo_id=55
my $file = "vaxjo_detail.php?c_vaxjo_id=50.html";
my $te = HTML::TableExtract->new();
$te->parse_file($file);
my ($table) = $te->tables;
print Dumper $table ;

没有返回

human Interleukin 1x{3b2} 

返回
human Interleukin 1β

dump只是将其打印为Perl字符串字面值

"human Interleukin 1x{3b2}"

无论如何,如果你想要原始的HTML而不是它所代表的文本,我相信将keep_html => 1传递给构造函数将会达到目的。

最新更新