Python-通过HTML标记循环并使用IF

Python-通过HTML标记循环并使用IF,python,html,string,web,beautifulsoup,Python,Html,String,Web,Beautifulsoup,我正在使用python从网页中提取数据。该网页有一个带有class=“result”的重复出现的html div标记,其中包含其他数据(如位置、组织等)。我能够使用beautiful soup成功地在html中循环,但是当我添加一个条件时,例如如果某个单词('NHS'例如)存在于段中,它不会返回任何内容-尽管我知道某些段包含它。代码如下: soup = BeautifulSoup(content) details = soup.findAll('div', {'class': 'result'}

我正在使用python从网页中提取数据。该网页有一个带有class=“result”的重复出现的html div标记,其中包含其他数据(如位置、组织等)。我能够使用beautiful soup成功地在html中循环,但是当我添加一个条件时,例如如果某个单词('NHS'例如)存在于段中,它不会返回任何内容-尽管我知道某些段包含它。代码如下:

soup = BeautifulSoup(content)
details = soup.findAll('div', {'class': 'result'})

for detail in details:
    if 'NHS' in detail:
        print detail

希望我的问题有意义…

findAll
返回标记列表,而不是字符串。也许把它们转换成字符串

s = "<p>golly</p><p>NHS</p><p>foo</p>"
soup = BeautifulSoup(s)
details = soup.findAll('p')
type(details[0])    # prints: <class 'BeautifulSoup.Tag'>

这个
NHS
在哪里存在?是在课文部分吗?显示您正在谈论的html示例。
detail
是BS
tag
对象的一个实例。要检查文本中是否存在某些内容,请尝试使用
if'NHS'详细说明。text
for detail in details:
    if 'NHS' in str(detail):
        print detail