如何使用beautifulsoup和python在span标签中获取文本

时间:2019-08-11 01:34:49

标签: python beautifulsoup

我正在将beautifulsoup与html5lib结合使用,以尝试获取QTY:之后的数字,并且我尝试了许多不成功的方法。

这是span标签格式:

  <span id="ctl00_cph1_grdRfqSearch_ctl45_lblPr">0080970139<br>QTY: 255</span>

这是生成span标签的代码:

  PreQty = container1.find(id="ctl00_cph1_grdRfqSearch_ctl03_lblPr")                            

我尝试添加.text,.get_text()等,但是它们不起作用

QTY:之后如何获取值?

我只需要下一步将文本从span标签中取出

     <span id="ctl00_cph1_grdRfqSearch_ctl45_lblPr">0080970139<br>QTY: 255</span>

2 个答案:

答案 0 :(得分:0)

.text returns a list of matching elements。因此,如果选择器匹配任何元素,则首先需要从数组中检索该元素,然后可以访问其for element in PreQty: print(element.text) 属性。

为演示,您可以执行以下操作:

Comment

答案 1 :(得分:0)

您可以尝试一下,这里的棘手部分是在<br>标记后找到“ QTY”。

from bs4 import BeautifulSoup

text = """<span id="ctl00_cph1_grdRfqSearch_ctl45_lblPr">0080970139<br>QTY: 255</span>"""
soup = BeautifulSoup(text,'html.parser')
QTY = soup.find("span", id = "ctl00_cph1_grdRfqSearch_ctl45_lblPr" ).find('br').next_sibling
print(QTY)

#outputs 
QTY: 255
相关问题