正常情况下,遇见问题上google找答案能甩百度100条街,但是这个问题是个例外······人家老外就没有乱码的问题。言归正传,首先建议大家看一下python3.x+requests 爬取网站遇到中文乱码的解决方案。里面详细介绍。如果懒得看,看一下我的精简版也是可以的。
“Requests会自动解码来自服务器的内容。Requests遵循RFC标准,编码使用ISO-8859-1 。”
这下就明白了吧,utf-8的网站,你用ISO-8859-1楞解,不乱码才怪。
解决:先参看上文链接,无效在继续看本文。
我是试了一下连接中方法不好用才出此下策(瞎捣鼓的)。
import requests
url = 'https://www.admin5.com/article/20130130/486822.shtml' req = requests.get(url) print(req.encoding)
可以看到req的编码的确是ISO-8859-1。因此想到了一个简单粗暴的办法(管你什么编码,只要不是utf8,统统改过来):
req.encoding='utf-8'
然后再print,结果就变成了utf-8了。腰不酸了,腿不疼了,中文也不乱吗了。
因为我没有系统的学过,只是临时要用,所以都是野套路,路过的行家里手莫笑话,有什么正统套路欢迎指教。