You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用BeautifulSoup提取JSON响应中的str_fecha_nacimiento字段

提取嵌套在HTML中的JSON字段str_fecha_nacimiento的方法

直接按以下步骤操作即可提取目标字段:

1. 解析HTML定位JSON文本

先用BeautifulSoup解析响应的HTML内容,定位到存放JSON数据的<pre>标签,提取其中的完整文本。

2. 剥离HTTP响应头,保留纯JSON字符串

提取的文本里包含HTTP响应头信息,找到JSON的起始位置(第一个{),截取后面的内容得到纯JSON字符串。

3. 解析JSON并提取目标字段

示例中的JSON用了单引号,要么替换成双引号用json.loads()解析,要么直接用ast.literal_eval()解析单引号格式的JSON结构,最后通过键路径获取str_fecha_nacimiento字段。

完整代码示例

from bs4 import BeautifulSoup
import ast

# 你的请求代码(保留原请求逻辑)
r = scraper.get('https://nsa.gob.ye/ha/api/scar-doc/01/09090909/', json=payload, headers=headers, cookies=cookies)

# 解析HTML内容
soup = BeautifulSoup(r.text, 'html.parser')

# 定位到包含JSON数据的pre标签
response_pre = soup.select_one('.response-info pre')
full_content = response_pre.get_text()

# 截取纯JSON部分(从第一个{开始)
json_start_idx = full_content.find('{')
json_str = full_content[json_start_idx:]

# 解析单引号格式的JSON(无需替换引号,更稳妥)
json_data = ast.literal_eval(json_str)

# 提取目标字段
fecha_nacimiento = json_data['datos']['data']['str_fecha_nacimiento']
print(fecha_nacimiento)  # 输出示例:00/00/0000

内容的提问来源于stack exchange,提问作者AjaxPain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:20:39