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

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

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

图片图片

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

图片图片

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

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

pip install pyyaml

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

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

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

图片图片

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

图片图片

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

图片图片图片

责任编辑:武晓燕 来源: 未闻Code
相关推荐

2021-06-08 21:36:24

PyCharm爬虫Scrapy

2021-10-15 21:08:31

PandasExcel对象

2021-12-15 22:04:11

浏览器重复登录

2024-05-24 09:07:06

JSONprint字符串

2024-10-16 21:47:15

2020-12-04 06:39:25

爬虫网页

2022-01-26 07:35:10

爬虫Requestsgzip

2022-06-28 09:31:44

LinuxmacOS系统

2024-07-30 08:16:18

Python代码工具

2024-07-30 08:11:16

2022-03-12 20:38:14

网页Python测试

2021-09-26 05:01:55

Scrapy项目爬虫

2021-05-08 19:33:51

移除字符零宽

2024-11-11 00:38:13

Mypy静态类型

2022-05-02 16:27:01

JavaScriptHTMLPython

2021-04-27 22:15:02

Selenium浏览器爬虫

2020-12-11 06:30:00

工具分组DataFrame

2021-04-12 21:19:01

PythonMakefile项目

2024-02-20 22:13:48

Python项目Java

2022-03-07 09:14:04

Selenium鼠标元素
点赞
收藏

51CTO技术栈公众号