Skip to main content
 首页 » 编程设计

python之如何使用 Beautiful Soup 拉取没有属性的 p> 标签

2025年05月04日28落叶无声

假设一个网页包含以下内容:

<p style="display: none;"><input id="ak_js" name="ak_js" type="hidden" value="68"/></p> 
 
<p><b>Lack of sales.. ANY sales.</b></p> 

我正在尝试编写仅提取第二个标签的代码。基本上所有不包含属性的段落标签。 我在下面尝试了以下两段代码,但它们没有得到我想要的结果。

text = BeautifulSoup(requests.get(url).text) 
 
for tag in text.find_all("p", attrs = False): 
    ..... 
 
for tag in text.find_all(re.compile("^<p>$")): 
    .... 

解决这个问题的最佳方法是什么?

请您参考如下方法:

你可以给 find_all 一个 lambda 并用它过滤。

soup.find_all(lambda tag: tag.name == 'p' and not tag.attrs)