当前位置:首页 > 科技  > 软件

一日一技:爬虫如何解析JavaScript Object?

来源: 责编: 时间:2023-10-28 16:30:17 229观看
导读我们在开发爬虫的过程中,经常发现有一些网站,会直接把数据放到HTML中的<script>标签里面。这些数据长得有点像JSON,但又有差异,如下图所示:图片这种格式,我们叫做JavaScript Object。长得很像Python的字典,又很像是JSON。但

我们在开发爬虫的过程中,经常发现有一些网站,会直接把数据放到HTML中的<script>标签里面。这些数据长得有点像JSON,但又有差异,如下图所示:SVQ28资讯网——每日最新资讯28at.com

图片图片SVQ28资讯网——每日最新资讯28at.com

这种格式,我们叫做JavaScript Object。长得很像Python的字典,又很像是JSON。但是这个格式在Python里面,无论直接当字典解析,还是当JSON解析,都会报错,如下图所示:SVQ28资讯网——每日最新资讯28at.com

图片图片SVQ28资讯网——每日最新资讯28at.com

遇到这种情况,有同学准备使用正则表达式来解析,又有同学直接放弃。SVQ28资讯网——每日最新资讯28at.com

但实际上,这种数据结构,使用Yaml是可以直接解析成Python的字典。我们首先来安装一下Yaml:SVQ28资讯网——每日最新资讯28at.com

pip install pyyaml

然后直接像解析JSON一样解析:SVQ28资讯网——每日最新资讯28at.com

import yamldata = '''{    name: '青南',    salary: 999999999,    address: '上海',    pro: true}'''info = yaml.safe_load(data)

运行效果如下图所示,已经直接解析成了Python的字典:SVQ28资讯网——每日最新资讯28at.com

图片图片SVQ28资讯网——每日最新资讯28at.com

Yaml格式是JSON格式的超集,因此,使用pyyaml库也能直接解析正常的JSON:SVQ28资讯网——每日最新资讯28at.com

图片图片SVQ28资讯网——每日最新资讯28at.com

甚至各种复杂的混合格式也能正常解析:SVQ28资讯网——每日最新资讯28at.com

图片图片图片SVQ28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-15576-0.html一日一技:爬虫如何解析JavaScript Object?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 开始学习Go编程

下一篇: Go的单元测试进阶:Mock与Stub的使用

标签:
  • 热门焦点
Top
Baidu
map