You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python BeautifulSoup查找不含itemprop属性的meta元素

用BeautifulSoup查找不含itemprop属性的元素

先看示例HTML结构:

<html>
<head>
    <meta name="description" content="Sample description" itemprop="description">
    <meta name="keywords" content="Python, BeautifulSoup">
    <meta content="Hello data world">
    <meta itemprop="author" content="John Doe">
</head>
</html>

要筛选出不含itemprop属性的<meta>元素,有两种简单方法:

方法一:使用CSS选择器的:not()伪类

BeautifulSoup支持CSS选择器,直接用meta:not([itemprop])就能精准匹配不带itemprop属性的meta标签:

from bs4 import BeautifulSoup

html = """
<html>
<head>
    <meta name="description" content="Sample description" itemprop="description">
    <meta name="keywords" content="Python, BeautifulSoup">
    <meta content="Hello data world">
    <meta itemprop="author" content="John Doe">
</head>
</html>
"""

soup = BeautifulSoup(html, 'html.parser')
# 筛选目标元素
target_metas = soup.select('meta:not([itemprop])')

# 查看结果,其中就包含content为"Hello data world"的标签
for meta in target_metas:
    print(f"Content: {meta.get('content')}")

方法二:遍历筛选

如果偏好手动判断,也可以遍历所有meta元素,通过has_attr()方法排除带itemprop属性的标签:

target_metas = [meta for meta in soup.find_all('meta') if not meta.has_attr('itemprop')]

两种方法都能得到你需要的结果,第一种更简洁,第二种灵活性更强。

内容的提问来源于stack exchange,提问作者Ram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 23:40:36