如果html页面不包含某个字符串,请检查BeautifulSoup

时间:2017-07-24 19:54:55

标签: python beautifulsoup

我知道可以使用findAll函数在BeautifulSoup的html页面中查找字符串。如果目标是BeautifulSoup站点,例如:

page = urllib2.urlopen('https://www.crummy.com/software/BeautifulSoup/bs4/doc/')

soup = BeautifulSoup(page, "html.parser")

print soup.findAll(text="python")

结果将是:

[u'python']

但是如何检查是否没有发生?是否可以有布尔结果?

1 个答案:

答案 0 :(得分:3)

空列表的计算结果为False,因此您只需使用if语句,例如:

if soup.findAll(text="python") :  

或者,如果您想要更明确,可以使用bool并将其转换为布尔值

bool(soup.findAll(text="python"))  

如果find_all不包含某些字符串,您也可以使用text中的lambda来收集代码

soup.find_all(lambda tag: "python" not in tag.text)  

或者,如果您想检查NavigableString中的所有soup是否包含某个字符串,请执行以下操作:

all("python" not in s for s in soup.strings)