上篇文章中,抓取網頁時,本想匹配其中的漢字。由於出現亂碼,只好匹配英文繞過了問題。
原因很簡單:該網頁沒指定utf8,默認應該是GBK
解決辦法也很簡單:引入
"golang.org/x/text/encoding/simplifiedchinese"
比如原來的代碼是
resp, err := this.cleint.Get(url) body, err := ioutil.ReadAll(resp.Body)
此時body中讀取到的是亂碼。
只需增加一個reader
resp, err := this.cleint.Get(url) reader := simplifiedchinese.GB18030.NewDecoder().Reader(resp.Body) body, err := ioutil.ReadAll(reader)
此時,body中就是正確解碼后的漢字。可以進行查找或正則匹配了。
