【问题标题】:Beautiful Soup - Getting top div tag without nested spanBeautiful Soup - 在没有嵌套跨度的情况下获得顶部 div 标签
【发布时间】:2021-03-28 01:14:58
【问题描述】:

我只需要获取没有嵌套标签的顶部 div 标签。

<div class="listing-price">
    K75,000
    <span class="listing-price-sqm">$750000/m<sup>2</sup></span>
</div>

我的代码返回了 div 类标签和 span 类标签的值: listing_price = house.find("div", class_="listing-price").text.strip()

我怎样才能得到价值 K75,000?

谢谢

【问题讨论】:

  • 你可以试试string而不是text,然后再检查一次。并将您的代码输出添加到您的问题中。
  • @iliya 输出为:K75,000 $750000/m2
  • 您是否从string 中删除了strip()?这样做并报告。
  • 我更新了代码:listing_price = house.find("div", class_="listing-price").string 但这次我没有得到值。结果是“无”
  • 你能给我网址,让我有机会自己探索一下

标签: python html beautifulsoup tags find


【解决方案1】:

您可以使用contentsnext_element 来获取值。

html='''<div class="listing-price">
    K75,000
    <span class="listing-price-sqm">$750000/m<sup>2</sup></span>
</div>'''
soup=BeautifulSoup(html,"html.parser")
print(soup.select_one(".listing-price").contents[0].strip())

print(soup.select_one(".listing-price").next_element.strip())

输出:

K75,000

【讨论】:

    【解决方案2】:

    你可能想试试这个:

    soup.find('div', {'class': 'listing-price'}).get_text(strip=True, separator='|').split('|')[0]
    

    【讨论】:

      猜你喜欢
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2020-08-24
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多