前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >BeautifulSoup 获取 Script 标签内的 json 数据

BeautifulSoup 获取 Script 标签内的 json 数据

作者头像
happyJared
发布于 2019-11-03 12:23:52
发布于 2019-11-03 12:23:52
4.7K00
代码可运行
举报
文章被收录于专栏:happyJaredhappyJared
运行总次数:0
代码可运行

有时候,我们可能会遇到数据是以 JSON 字符串的形式包裹在 Script 标签中,此时使用 BeautifulSoup 仍然可以很方便的提取。

假设有以下这段页面结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="application/ld+json" id="DATA_INFO">
{
    "user": {
        "isLogin": true,
        "userInfo": {
            "id": 123456,
            "nickname": "happyJared",
            "intro": "做好寫代碼這事"
        }
    }
}
</script>

比如要获取 nickname 值,可以通过如下两种方式实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    json.loads(bs.find('script', {'type': 'application/ld+json'}).get_text()).get("user").get("userInfo").get("nickname")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    json.loads(bs.find('script', {'id': 'DATA_INFO'}).get_text()).get("user").get("userInfo").get("nickname")

说明:通过 find() 以及 get_text() 获取 Script 标签内的字符串内容,接着将此字符串传递给 json.loads() 即可得到一个字典对象,再通过 "键" 的方式访问即可得到对应的值。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息
前文回顾: 「Python爬虫系列讲解」一、网络数据爬取概述 「Python爬虫系列讲解」二、Python知识初学 「Python爬虫系列讲解」三、正则表达式爬虫之牛刀小试 「Python爬虫系列讲解」四、BeautifulSoup 技术
荣仔_最靓的仔
2021/02/02
3.8K0
「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息
python爬虫入门(三)XPATH和BeautifulSoup4
 XML和XPATH 用正则处理HTML文档很麻烦,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。 XML 指可扩展标记语言(EXtensible M
zhang_derek
2018/04/11
2.4K0
python爬虫入门(三)XPATH和BeautifulSoup4
Scrapy爬取知乎------获取用户主页信息
新建一个scrapy项目,scrapy startproject zhihuspider
andrew_a
2019/07/30
7050
Scrapy爬取知乎------获取用户主页信息
BeautifulSoup解析html介绍
爬虫抓取的数据以html数据为主。有时也是xml数据,xml数据对标签的解析和html是一样的道理,两者都是<tag>来区分数据的。这种格式的数据结构可以说是一个页面一个样子,解析起来很麻烦。BeautifulSoup提供了强大的解析功能,可以帮助我们省去不少麻烦。使用之前安装BeautifulSoup和lxml。
震八方紫面昆仑侠
2020/07/23
1.8K0
BeautifulSoup解析html介绍
深入解析网页结构解析模块beautifulsoup
beautifulsoup(以下简称bs),是一款网页结构解析模块,它支持传统的Xpath,css selector 语法,可以说很强大了,下面我们就来着重介绍下它的用法。
Python进阶者
2021/04/19
2.5K0
深入解析网页结构解析模块beautifulsoup
Python + Wxpy 搭建简单微信机器人
之前看网上的教程做了一个可以定时发送天气预报的程序, 最近又想到折腾,做了一个更加详细的版本。但是需要主动操作 具体操作看图。 部分代码: #coding=utf8 import requests from requests import exceptions from urllib.request import urlopen from bs4 import BeautifulSoup from urllib.parse import urlencode from threading i
执行上下文
2022/07/26
1.2K0
Python + Wxpy 搭建简单微信机器人
PHP 怎么使用 XPath 来采集页面数据内容
之前有说过使用 Python 使用 XPath 去采集页面数据内容,前段时间参与百度内测的一个号主页展现接口,需要文章页面改造的application/ld+json代码
沈唁
2018/12/19
1.9K0
Python 爬虫之request+beautifulsoup+mysql
一、什么是爬虫? 它是指向网站发起请求,获取资源后分析并提取有用数据的程序; 爬虫的步骤:
Wu_Candy
2022/07/04
3040
Python 爬虫之request+beautifulsoup+mysql
Django之CURD插件
CURD顾名思义就是create,update,rearch,delete(所谓的增删改查).
菲宇
2019/06/13
1.7K0
Django之CURD插件
Python基础——PyCharm版本——第八章、文件I/O(核心2——JSON序列化与反序列化——超重点)
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
红目香薰
2022/11/29
4450
Python基础——PyCharm版本——第八章、文件I/O(核心2——JSON序列化与反序列化——超重点)
Selenium+BeautifulSoup+json获取 Script 标签内的 json 数据
Selenium爬虫遇到 数据是以 JSON 字符串的形式包裹在 Script 标签中, 假设Script标签下代码如下:
诡途
2022/05/09
3.3K0
快速入门网络爬虫系列 Chapter09 | JSON数据处理
JSON是指JavaScript对象表示法(JavaScript Object Notation):
不温卜火
2020/10/28
1.1K0
快速入门网络爬虫系列 Chapter09 | JSON数据处理
04.BeautifulSoup使用
例1: print(type(p.contents)) #list print(p.contents) #可通过索引获取它的某一个元素。
见贤思齊
2020/08/05
2.2K0
04.BeautifulSoup使用
BeautifulSoup使用
Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment .
听城
2018/08/30
9770
[Python] 首发,批量下载抖音单用户所有无水印视频
2).请求上述url,禁用重定向获取location的value,在正则提取出sec_id
@派大星
2023/06/28
1.3K0
[Python] 首发,批量下载抖音单用户所有无水印视频
大江大河,一代人的缩影
因为豆瓣对请求频率限制很严,我不得不使用了付费的代理服务。即便如此,依然遭到了封锁:
Crossin先生
2019/04/30
4600
大江大河,一代人的缩影
十一、模拟扫码登录微信(用Django简单的布置了下页面)发送接收消息 url.py templates views.py(逻辑层)
为了能够模拟登陆QQ,并获取信息。对扫码登录微信进行了分析。简单的用了一下Django将获取的信息映射到页面上。(python3+pycharm) 主要过程就是: 1、获取二维码 2、扫码登录(有三种状态) 3、获取联系人信息(index页面获取的是个人信息、最近联系人信息、公众号) 4、获取所有的联系人 5、发送和接收消息(接收消息打印到了后台) 创建Django项目、导入JQuery(发送AJax请求)、创建APP、创建模板(简单的弄一下,能合理显示得到的数据就好) url.py from django
酱紫安
2018/04/19
2.1K0
十一、模拟扫码登录微信(用Django简单的布置了下页面)发送接收消息
		url.py templates views.py(逻辑层)
BeautifulSoup库
python爬虫抛开其它,主要依赖两类库:HTTP请求、网页解析;这里requests可以作为网页请求的关键库,BeautifulSoup库则是网页内容解析的关键库;爬虫架构分为五部分:调度器、URL管理器、网页下载器、网页解析器、应用程序等。
Mirror王宇阳
2020/11/13
9680
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
提醒:小程序端源码已经更新整理,相比旧源码,新源码简洁、结构清晰、需要的同学及时找我获取源码。
热心的程序员
2020/04/02
8.6K0
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
一篇长文带你在python里玩转Json数据
很多网站都会用到Json格式来进行数据的传输和交换,就像上篇我提到的网易云音乐接口,它们返回的数据都是Json格式的。
朱小五
2019/11/26
1.7K0
推荐阅读
相关推荐
「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验