【问题标题】:Using BeautifulSoup to extract part of class name使用 BeautifulSoup 提取部分类名
【发布时间】:2022-01-05 10:57:54
【问题描述】:

由于每个项目的类名都在变化,我想根据类名的一部分(示例中的载体文本)提取信息。但是,它不起作用...

html = """
<div class="dErF-carrier-text">
Alaska Airlines 398 </div>
"""

soup = BeautifulSoup(html, 'html.parser')
text = soup.find('div',class_="carrier-text").text
print(text)

【问题讨论】:

标签: python beautifulsoup


【解决方案1】:

如何解决?

您可以使用css selectors 来解决您的问题,该class 是否包含您的子字符串:

soup.select_one('div[class*="carrier-text"]')
请注意

它适用于您的具体示例,但请注意是否有带有 class 的元素也包含您的子字符串,那么您可能必须选择更具体的。

选项

因为您的问题不是很清楚 - 提取 textclass

获取文本
soup.select_one('div[class*="carrier-text"]').get_text(strip=True)
获取课程
soup.select_one('div[class*="carrier-text"]')['class']

示例

html = """
<div class="dErF-carrier-text">
Alaska Airlines 398 </div>
"""

soup = BeautifulSoup(html, 'html.parser')

soup.select_one('div[class*="carrier-text"]').get_text(strip=True)

输出

Alaska Airlines 398

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多