2021-05-15 爬虫 爬取返回值为[]的解决方法:采取正确的文字解码【爬虫笔记】

爬取网页,返回值为【】空列表

不同于之前的异步加载ajax导致的返回值为空列表的情况,这次返回值为空列表,是由于没证对网页使用正确的文字编码分析导致的。
我们可以通过查看网页的源代码,决定使用什么格式的解码。

查看方法

右键网页空白处,点击查看网页源代码,此处以下图为例。
在这里插入图片描述
找到源代码中的charset的格式,可以看到对于内容,采用了utf-8的文字编码格式。
在这里插入图片描述
因此,我们在爬取时,同样使用的utf-8来解码。

 resp = requests.get(url, headers=Headers)
    text = resp.content.decode("utf-8", "ignore")

但如果是gdk解码或其他解码,如下图
在这里插入图片描述

我们以同样的方式修改爬虫代码。

 resp = requests.get(url, headers=Headers)
    text = resp.content.decode("gdk", "ignore")

UTF-8GBK的区别:
GBK: 专门用来解决中文编码,双字节。 是在国家标准GB2312基础上扩容后兼容GB2312标准。 包含全部中文字符。
UTF-8: 解决国际上制度的一种多字节编码,对英文使用8位(1个字节),中文使用24位(3个字节)来编码。 对于英文字符较多的论坛适用于UTF-8节省空间。 包含全世界所有国家需要用到的字符。
  简言而知,GBK编码方式的编码是为中国中文编码而创造的,而国际上大多使用UTF-8编码,这也是为什么大多数的网页是使用UTF-8编码而不是GBK。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S1901

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值