我想将网站的HTML写入我创建的文件,很难解码为utf-8但是它仍然会出现这样的错误,我使用print(data1)
并且html正确打印并且我是使用 python 3.5.0
import re
import urllib.request
city = input("city name")
url = "http://www.weather-forecast.com/locations/"+city+"/forecasts/latest"
data = urllib.request.urlopen(url).read()
data1 = data.decode("utf-8")
f = open("C:\\Users\\Gopal\\Desktop\\test\\scrape.txt","w")
f.write(data1)
答案 0 :(得分:2)
您已使用默认系统编码打开了一个文件:
f = open("C:\\Users\\Gopal\\Desktop\\test\\scrape.txt", "w")
您需要明确指定编码:
f = open("C:\\Users\\Gopal\\Desktop\\test\\scrape.txt", "w", encoding='utf8')
请参阅open()
function documentation:
在文本模式下,如果未指定编码,则使用的编码取决于平台:调用
locale.getpreferredencoding(False)
以获取当前的区域设置编码。
在您的系统上,默认值是无法处理数据的编解码器。
答案 1 :(得分:0)
f = open("C:\\Users\\Gopal\\Desktop\\test\\scrape.txt","w",encoding='utf8')
f.write(data1)
这应该有用,对我有用