Beautifulsoup获取具有相同类的元素

2024-06-01 09:34:29 发布

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

我在使用Beautifulsoup解析带有“class”属性的HTML元素时遇到问题

html代码如下所示:

    <div class="info-item">
        <div class="item-name">Model</div>
        <div class="item-content">XPANDER 1.5L GLX</div>
    </div>
    <div class="info-item">
        <div class="item-name">Transmission</div>
        <div class="item-content"> MT </div>
    </div>
    <div class="info-item">
        <div class="item-name">Engine Capacity (cc)</div>
        <div class="item-content">1499 cc</div>
    </div>
    <div class="info-item">
        <div class="item-name">Fuel</div>
        <div class="item-content">Bensin </div>
    </div>

我需要获取数据(XPANDER 1.5升GLX、MT、1499、汽油)

我尝试使用scriptdetail.find(class='item-content')只需获取XPANDER 1.5L GLX

请帮忙


Tags: namedivinfo元素属性htmlcontentitem
2条回答

你可以试试这个

soup = BeautifulSoup(html, "html.parser")
items = [item.text for item in soup.find_all("div", {"class": "item-content"})]

查找所有事件,检索所有事件

使用.find_all().select()

from bs4 import BeautifulSoup


html_doc = """
    <div class="info-item">
        <div class="item-name">Model</div>
        <div class="item-content">XPANDER 1.5L GLX</div>
    </div>
    <div class="info-item">
        <div class="item-name">Transmission</div>
        <div class="item-content"> MT </div>
    </div>
    <div class="info-item">
        <div class="item-name">Engine Capacity (cc)</div>
        <div class="item-content">1499 cc</div>
    </div>
    <div class="info-item">
        <div class="item-name">Fuel</div>
        <div class="item-content">Bensin </div>
    </div>
"""

soup = BeautifulSoup(html_doc, "html.parser")

items = [
    item.get_text(strip=True) for item in soup.find_all(class_="item-content")
]

print(*items)

印刷品:

XPANDER 1.5L GLX MT 1499 cc Bensin

或:

items = [item.get_text(strip=True) for item in soup.select(".item-content")]

相关问题 更多 >