当前位置:首页 >焦点 >一日一技:爬虫如何解析JavaScript Object? 但是何解这个格式在Python里面

一日一技:爬虫如何解析JavaScript Object? 但是何解这个格式在Python里面

2024-06-30 22:00:16 [百科] 来源:避面尹邢网

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

作者:kingname 开发 前端 长得很像Python的日技字典,又很像是爬虫JSON。但是何解这个格式在Python里面,无论直接当字典解析,日技还是爬虫当JSON解析,都会报错。何解

我们在开发爬虫的日技过程中,经常发现有一些网站,爬虫会直接把数据放到HTML中的何解<script>标签里面。这些数据长得有点像JSON,日技但又有差异,爬虫如下图所示:

图片图片

一日一技:爬虫如何解析JavaScript Object? 但是何解这个格式在Python里面

这种格式,何解我们叫做JavaScript Object。日技长得很像Python的爬虫字典,又很像是何解JSON。但是这个格式在Python里面,无论直接当字典解析,还是当JSON解析,都会报错,如下图所示:

一日一技:爬虫如何解析JavaScript Object? 但是何解这个格式在Python里面

图片图片

一日一技:爬虫如何解析JavaScript Object? 但是何解这个格式在Python里面

遇到这种情况,有同学准备使用正则表达式来解析,又有同学直接放弃。

但实际上,这种数据结构,使用Yaml是可以直接解析成Python的字典。我们首先来安装一下Yaml:

pip install pyyaml

然后直接像解析JSON一样解析:

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

运行效果如下图所示,已经直接解析成了Python的字典:

图片图片

Yaml格式是JSON格式的超集,因此,使用pyyaml库也能直接解析正常的JSON:

图片图片

甚至各种复杂的混合格式也能正常解析:

图片图片图片

责任编辑:武晓燕 来源: 未闻Code 爬虫JavaScriptObject

(责任编辑:探索)

    推荐文章
    热点阅读