goquery是不是只支持英文,另,go语言的中文乱码如何解决

发布于 2021-11-29 01:25:21 字数 157 浏览 729 评论 2

使用goquery来对网页爬虫的时候发现它对于很多中文网站都无法解析(试过 豆瓣,知乎),有的可以解析但打出来是诸如“
α?ȥ???Ŵ?????ʫ?ʷ?չ?ִ?????”的东西(对百度新闻解析),所以请问使用过goquery的大大们,确实是这样的吗?还是我代码写错了的原因?另,go语言的中文乱码问题要如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

海之角 2021-11-30 02:15:58

你得自已去处理流并进行utf8与gb18030之间的转换

深巷少女 2021-11-29 02:59:08

刚试了下osc没有乱码,乱码应该是网站不是utf-8引起的。

代码如下:

package main

import (
	"fmt"

	"github.com/PuerkitoBio/goquery"
)

func Scrape() {
	doc, err := goquery.NewDocument("http://www.oschina.net")
	if err != nil {
		fmt.Println(err)
		return
	}

	doc.Find(".p1 .today").Each(func(i int, s *goquery.Selection) {
		band := s.Find("span").Text()
		title := s.Find("a").Text()
		fmt.Printf("Review %d: %s - %sn", i, band, title)
	})
}

func main() {
	Scrape()
}

如果有乱码,使用iconv-go转码就可以了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文