Python爬虫出现编码错误
本帖最后由 py大神 于 2018-1-17 11:16 编辑第一次使用的是utf-8编码,结果出现错误
用notepad++打开,发现是GB2312编码,于是使用GB2312解码,还是出错了。
怎么解决?
而且这里为什么会出现jso解析失败?
百度了网上的方法,试过了,不行
本帖最后由 sky 于 2018-1-17 11:45 编辑
建议深入了解python3编码
这里用gbk就可以了 因为 html代码里是gbk
html也得会{:10_285:}
最后一个json.loads是解析json字符串的
但是你传给他的是html代码字符串当然解析不了啦
我看了一下你要爬取的页面,编码方式是用GBK方式编码的,程序解码方式改为decode("GBK")应该就可以了 以下测试代码亲测可行import urllib.request
url = 'http://www.31xs.org/12/12970/'
responce = urllib.request.urlopen(url)
html = responce.read().decode("GBK")
print(html)
sunlight070 发表于 2018-1-17 11:52
以下测试代码亲测可行
好的,感谢老哥 sky 发表于 2018-1-17 11:40
建议深入了解python3编码
这里用gbk就可以了 因为 html代码里是gbk
html也得会
有什么资料推荐么?
还有这个问题:
req = urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(req)
html = response.read().decode("GBK")
jsonstr = json.dumps(html)
这段代码如果打印html是可以正确显示的,但是如果经过json解析后,就变成了乱码? py大神 发表于 2018-1-17 14:21
有什么资料推荐么?
还有这个问题:
{:10_256:}因为json只能解析 json格式的字符串呀 html代码字符串是解析不了的
编码 能看多少看多少 慢慢理解
http://www.cnblogs.com/luotianshuai/articles/5735051.html sky 发表于 2018-1-17 14:26
因为json只能解析 json格式的字符串呀 html代码字符串是解析不了的
编码 能看多少看多少 慢慢 ...
好的,谢谢老哥
页:
[1]