首頁 > 後端開發 > Golang > golang寫爬蟲亂碼怎麼辦

golang寫爬蟲亂碼怎麼辦

angryTom
發布: 2020-02-15 09:52:40
原創
3467 人瀏覽過

golang寫爬蟲亂碼怎麼辦

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板