XML :: LibXML处理gbk编码的字符

时间:2014-05-08 15:15:05

标签: xml perl anyevent

以下perl脚本有效。但是,如果HTML内容具有一些基于gbk的字符,则它们将无法提取URL。

例如,此网站“http://list.jd.com/6196-6198-6209-0-0-0-0-0-0-0-1-3-1-1-1-72-4137-0.html”包含一些gbk字符。

有关如何使其适用于所有网站的任何想法?感谢。

use XML::LibXML;
use AnyEvent::HTTP;

$cv = AnyEvent->condvar;
http_get("http://www.yahoo.com", sub {
    printf("resp %d bytes\n", length($_[0])); 
    myparse($_[0]); 
});
$cv->recv;

sub myparse {
    my $parser = XML::LibXML->new(recover => 2);
    my $doc = $parser->load_html(string => $_[0]);
    for $e ( $doc->findnodes('//a/@href')->get_nodelist ) {
        print $e->getValue(), "\n";
    }
}

0 个答案:

没有答案