golang寫爬蟲亂碼怎麼辦
#在用golang寫爬蟲程式時,會碰觸編碼格式gb2312的頁面。
網頁頁面上可以看出該頁面字元編碼為gb2312
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
而golang預設是支援UTF-8編碼格式的,這樣直接爬下來的結果會亂碼。
解決方法:
使用github.com/axgle/mahonia 這個套件可以完成編碼轉換、
1、執行 go get github.com/axgle/mahonia 指令下載此套件後,在%gopath%/src目錄下會生產
github.com\axgle\mahonia
2、程式碼使用方法
# 1)導入套件
import "github.com/axgle/mahonia"
2)轉換函數
func ConvertToString(src string, srcCode string, tagCode string) string { srcCoder := mahonia.NewDecoder(srcCode) srcResult := srcCoder.ConvertString(src) tagCoder := mahonia.NewDecoder(tagCode) _, cdata, _ := tagCoder.Translate([]byte(srcResult), true) result := string(cdata) return result }
3)在需要字串轉換編碼的位置呼叫此函數
result = ConvertToString(html, "gbk", "utf-8")
更多golang知識請關注PHP中文網golang教程欄位。
以上是golang寫爬蟲亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!