我知道可以使用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']
但是如何检查是否没有发生?是否可以有布尔结果?
答案 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)