作者crossdunk (魯來又魯去)
看板PHP
標題[請益] curl抓回來的問題
時間Mon Nov 17 15:57:04 2014
是這樣的
小弟最近在學curl,現在有個問題是
抓回來的東西出現確是亂碼
我試過用別的編碼方式,卻都還是亂碼
大概是像下面這樣
<a href="
http://www.8591.com.tw/user-login.html">å·2 è2 ·åˆ°ç?</a>
<a href="
http://www.8591.com.tw/user-login.html">å·2 è3 £出ç</a>
<a href="
http://www.8591.com.tw/user-login.html">é2 è3 £å鄊
我是以8591網站來做測試的
請問要如何知道他的編碼是什麼來做轉換呢?
我看他的表頭是用UTF-8
我顯示的方式也用UTF-8,卻還是亂碼
請各位先進給小弟一點指導
謝謝!
--
Democracy = ('PIG'==$Mayor)?'China':'Our';
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.19.218
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1416211028.A.725.html
1F:→ LPH66: 你的程式是怎麼寫的? 這看起來像是把 UTF-8 解做英文編碼 11/17 21:06
$url =
'
http://www.8591.com.tw/wareList-sellList-22.html?searchServer=2031&searchType=1';
$ch = curl_init();
$this_header = array(
"content-type: application/x-www-form-urlencoded;
charset=UTF-8"
);
$timeout = 30;
curl_setopt ($ch, CURLOPT_URL, $url); //設定抓取網址
curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//逾時時間
$data = curl_exec($ch);
$file = fopen("data8591.html", 'w');
fwrite($file, $data);
fclose($file);
我是先抓下來放到一個檔案來試試看
打開data8591.html中文字的部分就是亂碼了..
2F:推 alog: 這latin1吧 11/18 02:40
3F:→ alog: 你用python or ruby2抓抓看 11/18 02:41
4F:→ alog: 應該會是utf8 11/18 02:42
查了一下latin1好像都是關於資料庫的
很不幸的alog大說的兩種我都不會QQ
※ 編輯: crossdunk (59.120.19.218), 11/18/2014 08:59:18
5F:推 shadowjohn: 你在windows上看,試看看把UTF-8轉BIG5就可以正常看 11/18 11:01
不好意思,我在網頁上改編碼方式,改成BIG5還是亂碼QQ
※ 編輯: crossdunk (59.120.19.218), 11/18/2014 11:40:20
6F:推 InDer5566: 你的純文字檔 不是用ansi建的吧? 11/20 20:18
7F:推 InDer5566: 看錯 你的data8591.html 開頭有宣告是utf-8嗎? 11/20 20:20
8F:推 InDer5566: 總覺得這個問題 是在抓下來時發生的.... 11/20 20:24
9F:→ InDer5566: 我都是寫一個專門display的html 好像沒發生過這種事情 11/20 20:25
10F:推 InDer5566: 我用你的碼測了一下抓8591首頁 沒任何問題哎@@ 11/20 20:30
11F:→ InDer5566: 是不是你browser的問題?@@ 11/20 20:31
12F:→ InDer5566: 我用你的跟樓下的碼 跑起來很正常哎 @@"" 11/20 20:32
13F:推 InDer5566: 還是說你是用國外的server... 有時候本機測試正常 11/20 20:59
14F:→ InDer5566: 但是你直接用國外主機去爬... 他好像 有時候會有問題 11/20 21:00
15F:推 InDer5566: 可能跟他某些設定有關....@@" 11/20 21:02