【问题标题】:Finding specific attribute in BeautifulSoup在 BeautifulSoup 中查找特定属性
【发布时间】:2019-11-25 17:31:53
【问题描述】:

我正在尝试从以下 HTML 中获取日期 "Di 10.Dez 2019"

soup = `<div aria-disabled="false" aria-label="Di 10. Dez. 2019" aria-selected="false" class="DayPicker-Day" role="gridcell" tabindex="-1">\n <div class="DayPicker-Day-Inner">\n  <span class="DayPicker-Day-Date">\n   10\n  </span>\n  <span class="DayPicker-Day-Price">\n   56\n  </span>\n  <span class="DayPicker-Day-Currency">\n   CHF\n  </span>\n </div>\n</div>\n`

到目前为止,我尝试了不同的方法,比如这个:

soup.find(lambda tag: tag.name == 'aria-disabled="false".aria-label=' in tag.get_text())

这只是返回一个非值。

我想不通。你们中的任何人都可以帮忙吗?谢谢!

【问题讨论】:

  • 您想使用 JavaScript 获取日期吗?
  • 我尝试通过 python beautifulsoup 获取它

标签: python html beautifulsoup attributes


【解决方案1】:

试试这个方法:

txt =  """<div aria-disabled="false" aria-label="Di 10. Dez. 2019" 
aria-selected="false" class="DayPicker-Day" role="gridcell" tabindex="-1">\n 
<div class="DayPicker-Day-Inner">\n  <span class="DayPicker-Day-Date">\n   10\n  
</span>\n  <span class="DayPicker-Day-Price">\n   56\n  </span>\n  
<span class="DayPicker-Day-Currency">\n   CHF\n  </span>\n 
</div>\n</div>\n"""

from bs4 import BeautifulSoup as bs
soup = bs(txt, "lxml")

dat = soup.select_one("div[aria-label]")
dat.attrs['aria-label']

输出:

'Di 10. Dez. 2019'

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2020-10-05
    • 2018-10-11
    • 1970-01-01
    • 2022-07-18
    相关资源
    最近更新 更多