我正在抓取一个用波兰语编写的网站,这意味着它包含 ź 和 ę 等字符。当我尝试解析 html 时,无论是使用 html 包还是通过拆分响应主体的字符串,我都会得到如下输出:���~♦�♀�����r�▬֭��↔��q���y���<p��19��lFۯ☻→Z�7��我目前正在使用bodyBytes, err := ioutil.Readall(resp.body)if err != nil { //handle} bodyString := string(bodyBytes)为了得到字符串如何获得可读格式的文本?
2 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
更新:
由于响应的内容编码是 gzip,下面的代码用于将响应作为可打印字符串获取
gReader, err := gzip.NewReader(resp.Body)
if err != nil {
return err
}
gBytes, err := ioutil.ReadAll(gReader)
if err != nil {
return err
}
gReader.Close()
bodyStr := string(gBytes)
互换的青春
TA贡献1797条经验 获得超6个赞
你在哪个网站上工作?当我在维基百科页面上测试时,我得到了正确的字符
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
resp, err := http.Get("https://en.wikipedia.org/wiki/Polish_alphabet")
if err != nil {
// handle error
}
defer resp.Body.Close()
b, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
bodyStr := string(b)
fmt.Println(bodyStr)
}
<td>Ą</td>
<td>Ć</td>
<td>Ę</td>
- 2 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消