上篇文章中,抓取网页时,本想匹配其中的汉字。由于出现乱码,只好匹配英文绕过了问题。

原因很简单:该网页没指定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中就是正确解码后的汉字。可以进行查找或正则匹配了。



相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2021-08-28
  • 2021-11-08
  • 2021-07-25
  • 2021-11-09
  • 2022-02-15
猜你喜欢
  • 2022-02-11
  • 2022-12-23
  • 2021-06-19
  • 2022-12-23
  • 2021-10-19
  • 2021-07-26
  • 2022-02-25
相关资源
相似解决方案