用with保存requese.get().text文件后 文件有些地方出了乱码
import requests,bs4,reheaders={'User-Agent':'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14'}
res=requests.get('http://www.860816.com/aricle.asp?id=1785',headers=headers)
with open('text.txt','w',encoding='utf-8') as name:
name.write(res.text)
sopu=bs4.BeautifulSoup(res.text,'html.parser')
我打算保存各个城市的排名及数据,但是城市名称里是乱码,我以为是encoding='utf-8'的问题 ,改为encoding='gbk',报错。
https://blog.csdn.net/DCFANS/article/details/90199487
用了上面这个网站的方式,查了是gbk。 import requests,bs4,re
headers={'User-Agent':'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14'}
res=requests.get('http://www.860816.com/aricle.asp?id=1785',headers=headers)
res.encoding='gbk'
with open('text.txt','w',encoding='utf-8') as name:
name.write(res.text)
sopu=bs4.BeautifulSoup(res.text,'html.parser')
本帖最后由 洋洋痒 于 2021-3-29 10:35 编辑
你爬到的是一堆以二进制形式存储的数据res
需要以gbk编码的方式修改成字符串
然后把字符串写入文件
所以加一句res.encoding='gbk' res.content.decode("gb2312")
页:
[1]