使用beautiful soup解析html

2024-04-27 10:58:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手,有一个关于解析html的简单问题。我在用靓汤来达到这一点。我想从下面扣除税金和维修费。我不知道该怎么做。在

div class="estimated_payment clickable overlay_trigger hidden-xs"
id="overlay_trigger_1255749" se:behavior="monthly_payment" se:monthly_payment:attributes='{"id":1255749,"taxes":3682.0,"price":5500000,"maintenance":1875.0,"mortgage_rate":3.5,"mortgage_term":30,"down_payment_amount":1100000.0,"down_payment_rate":20.0,"min_down_payment_rate":20.0,"min_down_payment_amount":1100000.0}'> Est. Payment: $0


Tags: dividratehtmlpaymentminamountdown
1条回答
网友
1楼 · 发布于 2024-04-27 10:58:37

您需要分两步来完成:

  • 找到元素并提取se:monthly_payment:attributes属性值
  • 通过^{}将其加载到Python字典中,并通过键获得所需的数量

实施:

import json

from bs4 import BeautifulSoup


data = """
<div class="estimated_payment clickable overlay_trigger hidden-xs"
     id="overlay_trigger_1255749"
     se:behavior="monthly_payment"
     se:monthly_payment:attributes='{"id":1255749,"taxes":3682.0,"price":5500000,"maintenance":1875.0,"mortgage_rate":3.5,"mortgage_term":30,"down_payment_amount":1100000.0,"down_payment_rate":20.0,"min_down_payment_rate":20.0,"min_down_payment_amount":1100000.0}'>
     Est. Payment: $0
</div>
"""
soup = BeautifulSoup(data, "html.parser")

attr_value = soup.select_one(".estimated_payment")["se:monthly_payment:attributes"]
payment_data = json.loads(attr_value)

print(payment_data["taxes"])
print(payment_data["maintenance"])

印刷品:

^{pr2}$

相关问题 更多 >