Was soll ich tun, wenn ich einen Crawler mit verstümmeltem Code in Golang schreibe?
Wenn ich ein Crawler-Programm in Golang schreibe, werden Sie auf Folgendes stoßen eine Seite mit dem Kodierungsformat gb2312.
Aus der Webseite ist ersichtlich, dass die Zeichenkodierung der Seite gb2312
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
ist und Golang standardmäßig das Kodierungsformat UTF-8 unterstützt Das Ergebnis des direkten Kletterns sind verstümmelte Zeichen.
Lösung:
Verwenden Sie dieses Paket, um die Codierungskonvertierung abzuschließen,
1. Führen Sie go get aus github.com/axgle/mahonia Nach dem Befehl zum Herunterladen dieses Pakets wird github.com\axgle\mahonia
erstellt. 2. So verwenden Sie den Code
1) Paket importieren
import "github.com/axgle/mahonia"
2) Konvertierungsfunktion
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) Rufen Sie diese Funktion auf, wenn eine String-Konvertierungskodierung erforderlich ist
result = ConvertToString(html, "gbk", "utf-8")
Weitere Informationen Golang-Kenntnisse, bitte folgen Sie der Spalte Golang-Tutorial auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonSo schreiben Sie verstümmelten Crawler-Code in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!