我想使用Python beautifulsoup
仅提取此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>
答案 0 :(得分:0)
这取决于完整HTML中的其他内容,但是使用提供的HTML,您可以首先使用其<i>
类来定位ihome-bed
元素,然后导航至该文本元素如下。然后可以使用标准的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