这段代码怎么看都找不出问题所在,翻云覆雨找了好久,
使用的python3.5,在window下,在调试的时候遇到里编码出错的问题,找了很久,终于解决里。这此分享出来,给可能遇到同样问题的同学。 当把抓取出来的内容显示在网页上时,这个地方是出错的关键点。在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流txt,然而txt此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现问题。应写为: fout = open('output.html','w',encoding='utf-8') 同时在html中声明<meta charset='utf-8'>
#encoding=utf8
import requests
s = requests.get('http://www.12306.cn/mormhweb')
with open('12306.html','w') as fd:
fd.write(s.content.decode('UTF-8',errors='replace'))
正确的代码如下,大家如果不想看上面,直接找不同吧
#encoding=utf8
import requests
s = requests.get('http://www.12306.cn/mormhweb')
with open('12306.html','w',encoding='utf-8') as fd:
fd.write(s.content.decode('UTF-8',errors='replace'))
问题解决的朋友别忘了点赞。