Hello World
通常这种问题的原因是网页结构有变化,导致BeautifulSoup无法正确解析,或者使用的选择器表达式不正确。可以尝试使用其他选择器表达式或者手动查看网页结构,以确定正确的表达式。示例如下:
from bs4 import BeautifulSoup
html = '''
Demo Page
Hello World
'''
soup = BeautifulSoup(html, 'html.parser')
# 错误的选择器表达式
# results = soup.findAll('p', {'class': 'baz'})
# 正确的选择器表达式
results = soup.findAll('p', {'class': ['foo', 'bar']})
print(results) # [Hello World
, ]
在此示例中,尝试使用{'class': 'baz'}
选择器表达式会返回空列表,因为网页中没有class
为baz
的元素。正确的表达式应为{'class': ['foo', 'bar']}
,以选择所有class
为foo
或bar
的p
元素。