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教程栏目。

更多相关文章

  1. 用XML和XSL来生成动态页面
  2. XML创建可排序、分页的数据显示页面
  3. 使用xmldom在服务器端生成静态html页面
  4. 浅谈WEB页面工具语言XML(一)产生背景
  5. 浅谈WEB页面工具语言XML(三)支持工具
  6. 浅谈WEB页面工具语言XML(四)应用分类
  7. 浅谈WEB页面工具语言XML(六)展望
  8. 浅谈WEB页面工具语言XML(五)好处
  9. 使用用XML和XSL生成动态页面的代码详解

随机推荐

  1. android ethernet
  2. 「抄底 Android 内存优化 2」 —— Linux
  3. Android 之 SQLite数据库的使用
  4. android fitsSystemWindows的使用
  5. 深入探讨 Android(安卓)传感器随处监控您
  6. Android 百度地图 简单实现--- 美食搜索
  7. android的ListView图文混搭
  8. ANDROID常用权限记录
  9. Android Studio builde.gradle 配置说明
  10. Android 并发之CAS(原子操作)简单介绍(五)