鱼C论坛

 找回密码
 立即注册
查看: 1725|回复: 3

[已解决]用with保存requese.get().text文件后 文件有些地方出了乱码

[复制链接]
发表于 2021-3-29 00:31:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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)
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。
最佳答案
2021-3-29 09:38:16
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')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-29 09:38:16 | 显示全部楼层    本楼为最佳答案   
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')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 09:42:09 | 显示全部楼层
本帖最后由 洋洋痒 于 2021-3-29 10:35 编辑

你爬到的是一堆以二进制形式存储的数据res
需要以gbk编码的方式修改成字符串
然后把字符串写入文件
所以加一句res.encoding='gbk'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 15:09:35 From FishC Mobile | 显示全部楼层
res.content.decode("gb2312")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 04:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表