我正在使用python从网页中提取数据。该网页有一个重复出现的html div标签,其中class ="结果"其中包含其他数据(如位置,组织等)。我能够使用漂亮的汤成功循环使用html但是当我添加一个条件时,如果某个单词中存在某个单词(例如,NHS'例如),则它不会返回任何内容 - 尽管我知道某些段包含它。这是代码:
soup = BeautifulSoup(content)
details = soup.findAll('div', {'class': 'result'})
for detail in details:
if 'NHS' in detail:
print detail
希望我的问题有道理......
答案 0 :(得分:2)
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'>
您正在寻找标签中的字符串。最好在字符串中查找字符串......
for detail in details:
if 'NHS' in str(detail):
print detail