在两个HTML标记之间查找内容

2024-09-28 01:28:32 发布

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

我想使用Pythonbeautifulsoup只提取这个HTML代码中的数字“4”,我应该怎么做

<ul class="left slider_pinfo"> <li> <i class="ihome-bed"></i> " 4" <div class="meta-tooltip">bed</div> <span class="right listing-sp"></span> </li> <li> <i class="ihome-arrows"></i> "300meter" <div class="meta-tooltip">meter</div> </li> <li> <i class="ihome-building-age"></i> "6years" <div class="meta-tooltip">age</div> </li> </ul>

Tags: 代码divagehtml数字liulleft
1条回答
网友
1楼 · 发布于 2024-09-28 01:28:32

这取决于完整的HTML中还有什么,但是使用您提供的HTML,您可以首先使用它的类ihome-bed找到<i>元素,然后导航到后面的文本元素。然后可以使用标准Python strip()删除换行符、空格和引号字符。例如:

from bs4 import BeautifulSoup

html = """<ul class="left slider_pinfo">
    <li>
        <i class="ihome-bed"></i>
               " 4"
                <div class="meta-tooltip">bed</div>
        <span class="right listing-sp"></span>
        </li>
                                        <li>
            <i class="ihome-arrows"></i>
            "300meter"
            <div class="meta-tooltip">meter</div>
        </li>
                                        <li>
            <i class="ihome-building-age"></i>
            "6years"
            <div class="meta-tooltip">age</div>
        </li>
                </ul>"""

soup = BeautifulSoup(html, "html.parser")
number = soup.find('i', class_='ihome-bed').next_element.strip('\n" ')

print(number)

将显示:

4    

相关问题 更多 >

    热门问题