无法在python中获取<div>标记值

时间:2015-05-03 08:50:11

标签: python beautifulsoup

div标签中包含所需的值:

<div class="search-page-text">
<span class="upc grey-text sml">Cost for 2: </span>
Rs. 350 
</div>

我使用以下代码获取值“Rs.350”:

soup.select('div.search-page-text'):

但在输出中我得到“无”。你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

可以使用strippe_strings

访问包含子元素和字符串内容的元素
from bs4 import BeautifulSoup

h = """<div class="search-page-text">
<span class="upc grey-text sml">Cost for 2: </span>
Rs. 350
</div>"""
soup = BeautifulSoup(h)

for s in soup.select("div.search-page-text")[0].stripped_strings:
    print(s)

输出:

Cost for 2:
Rs. 350

问题在于,这包括spandiv的强大内容。但是,如果您知道div 第一个包含带文字的span,则可以将字符串字符串视为

list(soup.select("div.search-page-text")[0].stripped_strings)[1]