您的位置:首页 > 其它

关于gbk乱码问题(前程无忧)

2019-08-22 00:04 162 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44220464/article/details/100005935

在我们爬虫的道路上,无疑会碰到网页的gbk编码格式,显示效果是怎样的呢

经过源码的查看,我发现次网站是以gbk方式编码,查过资料后,得出结论要经过gbk编码结果就没问题了,但编码格式有点特殊,有必要提一下。

通过requests.get得到的源码经过response.encoding=‘gbk’已经编码为简体字

之前由于习惯没用过response.encoding转码,后经过写入文件发现原来的方法写入不成。经过不断尝试,发现如下方法,二次编码写入文件,缺一不可。

ret = requests.get(url='https://search.51job.com/list/010000,000000,0000,00,9,99,Python%25E7%2588%25AC%25E8%2599%25AB,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=', headers=headers)
ret.encoding = 'gbk'
with open('bs.html', 'w', encoding='gbk') as f:
f.write(ret.text)

当我们用scrapy框架请求页面时,发现请求到的源码是utf-8格式的,得出结论:scrapy请求页面时,会根据源码的<meta 标识自动编码,提供便利,减少了工作量。

参考:

http://sinhub.cn/2018/08/solve-problem-of-charset-detection-in-scrapy/
https://www.qqxiuzi.cn/zh/hanzi-gbk-bianma.php

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: