作者senhuo (努力吧)
看板perl
标题Re: [问题] 请问抓网页并去除html tag後 出现乱码?
时间Fri Oct 26 00:46:45 2007
各位高手
小弟目前是这以下方法来解决目前编码未知的情形
以下程式码
use Encode;
use Encode::Guess;
#第一个网址是utf编码格式
#$webhttp = "
http://blog.roodo.com/judie35/archives/270979.html";
#第二个网址是big-5 (也就是不需要decode)
$webhttp = "
http://news.pchome.com.tw/entertainment/udn/20071025/index-20071025151243038787.html";
$mech = WWW::Mechanize->new();
$mech->get($webhttp);
$html=$mech->content();
$enc = guess_encoding($html, qw/big5-eten utf8/);
#print $enc->name;
if ($enc->name eq "utf8")
{$html2 = decode($enc->name,$html);}
else
{print $html;}
print $html2;
------------------------------------------------------------------------------
请问还有更快的方式吗?
这样是先做判断 如果是uft再做decode
不是的话就直接print出来
不知道有没有更好、更快的作法~
谢谢各位~
※ 引述《LiloHuang (相见不如怀念)》之铭言:
: 解决不晓得原本是啥编码但是想要转成UTF8
: 可以使用Encode::Guess
: use Encode::Guess;
: my $enc = guess_encoding("中文", qw/big5-eten utf8/);
: print $enc->name;
: 详细内容请参考
: http://search.cpan.org/~dankogai/Encode-2.23/lib/Encode/Guess.pm
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.10.182
1F:推 buganini:网页的话,<head>里面应该也有东西可以参考吧 不一定要 10/26 01:39
2F:→ buganini:用猜的 10/26 01:40