[PHP] 爬蟲使用 DOMDocument 解析網站時 UTF-8 亂碼

本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


如果你用這方法去解析網站時發現亂碼,那你絕對不孤單XD 至今這問題都還沒被原生解決,不過網路上的解法很有用:


$dom = new DOMDocument(); $dom->loadHTML(mb_convert_encoding($data, 'HTML-ENTITIES', 'UTF-8'));

上面這串就是在載入爬蟲爬到的網站原始碼要匯入解析前都直接先轉成 HTML-ENTITIES 格式,如此被轉譯回來時就會正常。

註:如果你爬的資料不是 UTF-8 格式就記得替換上面的參數,避免結果輸出不正確哦!

另還有網友去做評測方法執行速度,可以參考這篇Gist

#爬蟲 #PHP #分析 #網站 #DOMDocument #UTF8 #HTMLENTITIES #亂碼 #技術相關

- Powered by Mxp.TW -FB2WP-


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

參與討論

2 則留言

  1. 自動引用通知: [筆記] 沒有 API 也能自造的暴力做法:爬蟲 Crawler - 一介資男
  2. 自動引用通知: [筆記] 沒有 API 也能自造的暴力做法:爬蟲 Crawler | 一介資男

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon