頁:
[1]
PHP爬蟲抓中油95油價,出現中文亂碼
本帖最後由 u48326 於 2020-10-23 05:54 PM 編輯欲由中油官網得知當日的95油價,用PHP 的 getElementById() 做法,但 id 含有中文、結果回傳值為空。
第2行測試一個無中文的 id,有抓到值,但回傳時中文顯示亂碼。
查中油首頁設定 charset=utf-8,所以我在爬蟲程式裡也加入:
header("Content-Type:text/html; charset=utf-8");卻無效果。程式如附件。有請前輩指導,謝謝!
<div></div> 你的文件有存成unicode嗎?也許這樣可以解決你的問題 tryit244178 發表於 2020-10-25 03:01 AM static/image/common/back.gif
你的文件有存成unicode嗎?也許這樣可以解決你的問題
程式是用 Notepad++ 編輯,預設儲存是 UTF-8 。
若在第6行增加一行:echo $html;
可以完整顯示原網頁內容。 本帖最後由 u48326 於 2020-10-26 04:09 PM 編輯
搞定了。
原來 UTF-8 的網頁在 loadHTML() 之前要加一道小手續:
$searchPage = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
原程式修改後如附件。
頁:
[1]