【问题标题】:parsing html using beautiful soup使用漂亮的汤解析 html
【发布时间】:2017-05-23 03:30:07
【问题描述】:

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

div class="estimated_pa​​yment 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}'> 美东时间。 付款:$0

【问题讨论】:

    标签: python beautifulsoup


    【解决方案1】:

    您需要分两步完成:

    • 定位元素并提取se:monthly_payment:attributes属性值
    • 通过json.loads() 将其加载到 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"])
    

    打印:

    3682.0
    1875.0
    

    【讨论】:

    • 非常感谢!你有一个很好的资源可以帮助我了解这些基础知识吗
    • @qfd 好吧,official documentation 非常详细,涵盖了很多内容。此外,您可以在 SO 上获得所有beautifulsoup 标记的问题,按投票排序并研究 - 这通常是介绍最常见的用例和使用库时出现的问题的好方法。谢谢。
    • @qfd 请接受答案以关闭此问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2019-11-10
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多