服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - js教程 - 爬虫如何解析JavaScript Object?

爬虫如何解析JavaScript Object?

2023-10-31 14:19未闻Code js教程

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

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

爬虫如何解析JavaScript Object?图片

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

爬虫如何解析JavaScript Object?图片

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

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

pip install pyyaml

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

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

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

爬虫如何解析JavaScript Object?图片

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

爬虫如何解析JavaScript Object?图片

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

爬虫如何解析JavaScript Object?爬虫如何解析JavaScript Object?图片

原文地址:https://mp.weixin.qq.com/s/IUIkXXQYuBUVdj2yxee69w

 

延伸 · 阅读

精彩推荐
  • js教程JavaScript实现前端倒计时效果

    JavaScript实现前端倒计时效果

    这篇文章主要为大家详细介绍了JavaScript实现前端倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    L在前方4332022-01-20
  • js教程一文搞懂JavaScript中的Typeof用法

    一文搞懂JavaScript中的Typeof用法

    typeof 运算符是 JavaScript 的基础知识点,尽管它存在一定的局限性(见下文),但在前端js的实际编码过程中,仍然是使用比较多的类型判断方式。...

    锋享前端8442021-12-29
  • js教程如何利用JS检查元素是否在视口内

    如何利用JS检查元素是否在视口内

    这篇文章主要给大家介绍了关于如何利用JS检查元素是否在视口内的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考...

    冷石4692022-03-01
  • js教程arcgis js完整悬停效果实现demo

    arcgis js完整悬停效果实现demo

    这篇文章主要为大家介绍了arcgis js完整悬停效果实现demo详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    hopgoldy10912023-05-29
  • js教程小程序实现自定义多层级单选和多选

    小程序实现自定义多层级单选和多选

    这篇文章主要为大家详细介绍了小程序实现自定义多层级单选和多选,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一...

    大灰狼吃小白兔6872022-03-07
  • js教程JavaScript 逆向过程中无限 Debug 的绕过方案

    JavaScript 逆向过程中无限 Debug 的绕过方案

    debugger 是 JavaScript 中定义的一个专门用于断点调试的关键字,只要遇到它,JavaScript 的执行便会在此处中断,进入调试模式。...

    进击的Coder7202022-04-26
  • js教程Swiper.js插件超简单实现轮播图

    Swiper.js插件超简单实现轮播图

    这篇文章主要介绍了Swiper.js插件超简单实现轮播图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    鱼与风。4722022-02-21
  • js教程微信小程序全局状态的深入讲解

    微信小程序全局状态的深入讲解

    这篇文章主要介绍了微信小程序全局状态的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    明月依旧9532022-02-17