IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    青南发表于 2023-10-28 04:10:48
    love 0

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

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

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

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

    1
    pip install pyyaml

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import yaml
    data = '''
    {
    name: '青南',
    salary: 999999999,
    address: '上海',
    pro: true
    }
    '''
    info = yaml.safe_load(data)

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

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

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

    关于YAML格式的更多介绍,请看我以前的文章:

    一日一技:不用游标卡尺,Yaml 格式5分钟入门
    一日一技:如何处理配置文件中的重复值?
    一日一技:优雅地加载Yaml配置文件



沪ICP备19023445号-2号
友情链接