我对如何使用BeautifulSoup获得一些东西感到困惑,我尝试获取的html如下所示:
<div class="txt-block">
<h4 class="inline">Gross:</h4>
$408,992,272
</div>
我想抢美元的号码。
到目前为止,我已经拥有了,但是并不能完全满足我的需求。
gross = data.findAll('h4',class_='inline')
数据是我的beautifulsoup对象,并且
h4
标记class_=inline
也有多个实例我可以抓住所有
h4
标记,只要我也可以在其中获取编号,那么我就可以对其进行正则表达式。 最佳答案
如果您只想要美元金额,请在txt-block div设置中将文本find_all设为recursive = False,这样就不会从其子级中获取任何文本并去除任何空格:
In [27]:h = """<div class="txt-block">
<h4 class="inline">Gross:</h4>
$408,992,272
</div>"""
In [28]: soup = BeautifulSoup(h,"lxml")
In [29]: div = soup.find("div",class_="txt-block")
In [30]: "".join(div.find_all(text=True, recursive=False)).strip()
Out[30]: '$408,992,272'
或者,如果您知道它始终是最后一个item元素,则可以使用:
In [40]: div.contents[-1].strip()
Out[40]: '$408,992,272'
关于python - BeautifulSoup抓取文字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38278467/