クローラーが文字化けしたコードを golang で作成する場合の対処方法
クローラー プログラムを golang で作成すると、エンコード形式のページが表示されます。 gb2312。
Web ページから、ページの文字エンコーディングが 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 コマンドを使用してこのパッケージをダウンロードすると、github.com\axgle\mahonia
ディレクトリに生成されます。コードを使用するには
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 中国語 Web サイトの golang チュートリアル 列に従ってください。
以上がGolang で文字化けしたクローラー コードを記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。