今天做课堂作业——下载一个网页的HTML源代码到本地,遇到一个gbk编码问题。在本地可以看到代码创建的新文本,但是啥内容也没有,在百度看了很多博客,最终完美解决问题。
修改前
import requests
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/spider-men5.0.html')
book = res.text
print(book)
p = open('E:\\Mypy\\练习作品\\这个书苑不太冷.txt','a+')
p.write(book)
p.close()
解决方案
将
p = open('E:\\Mypy\\练习作品\\这个书苑不太冷.txt','a+')
修改为
p = open('E:\\Mypy\\练习作品\\这个书苑不太冷.txt','a+',encoding='utf-8')
运行效果图如下
总结
由于在windows中,新建的文本文件的默认编码是gbk,那么在创建文本时规定编码格式为utf-8就行了,否则将采用默认编码。