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

如何用Python从响应JSON中获取指定元素的属性值

如何从Python请求返回的JSON响应中提取指定元素的data属性值

需求说明

需要从API返回的JSON响应内的HTML片段中,提取带有data-has_lei="true"属性的元素的以下data属性值:

  • data-name
  • data-country_name
  • data-reg_code
  • data-address
  • data-lei_code
  • data-lei_registration_authority

修改后的代码实现

import requests
from bs4 import BeautifulSoup

api_url = "https://lei-registrations.in/wp/wp-admin/admin-ajax.php"

params = {
    "term": "ditech process solutions",  # <-- 搜索关键词
    "country": "IN",
    "action": "get_search_companies",
}

headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0"
}

data = requests.get(api_url, params=params, headers=headers).json()

if data["success"]:
    soup = BeautifulSoup(data["data"], "html.parser")
    # 直接筛选带有data-has_lei="true"属性的目标元素
    for element in soup.select('[data-has_lei="true"]'):
        # 通过get方法安全获取data属性,属性不存在时返回None
        name = element.get("data-name")
        country_name = element.get("data-country_name")
        reg_code = element.get("data-reg_code")
        address = element.get("data-address")
        lei_code = element.get("data-lei_code")
        lei_reg_authority = element.get("data-lei_registration_authority")
        
        # 格式化输出提取到的信息
        print("企业LEI信息:")
        print(f"名称: {name or '无'}")
        print(f"国家: {country_name or '无'}")
        print(f"注册码: {reg_code or '无'}")
        print(f"地址: {address or '无'}")
        print(f"LEI编码: {lei_code or '无'}")
        print(f"LEI注册机构: {lei_reg_authority or '无'}")
        print("-" * 80)

关键说明

  1. 精准定位元素:使用CSS选择器[data-has_lei="true"]直接筛选符合条件的元素,无需遍历所有.searchResults_title再判断,提升效率。
    • 若目标元素是.searchResults_title的子元素,可修改选择器为.searchResults_title [data-has_lei="true"];若目标元素本身就是.searchResults_title,则用.searchResults_title[data-has_lei="true"]。
  2. 安全获取属性:使用element.get(属性名)方法获取data属性,当属性不存在时会返回None,避免抛出KeyError异常。
  3. 容错输出:用or '无'处理属性缺失的情况,保证输出格式统一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:16:19