作者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
推 buganini:網頁的話,<head>裡面應該也有東西可以參考吧 不一定要 10/26 01:39
→ buganini:用猜的 10/26 01:40