python - 使用 BeautifulSoup 根据 name 属性获取属性值

标签 python beautifulsoup

我想根据名字打印一个属性值,举个例子

<META NAME="City" content="Austin">

我想做这样的事情

soup = BeautifulSoup(f)  # f is some HTML containing the above meta tag
for meta_tag in soup("meta"):
    if meta_tag["name"] == "City":
        print(meta_tag["content"])

上面的代码给出了一个KeyError: 'name',我相信这是因为name被BeatifulSoup使用了,所以它不能作为关键字参数。

最佳答案

很简单,使用如下:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<META NAME="City" content="Austin">')
>>> soup.find("meta", {"name":"City"})
<meta name="City" content="Austin" />
>>> soup.find("meta", {"name":"City"})['content']
'Austin'

关于python - 使用 BeautifulSoup 根据 name 属性获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205386/

相关文章:

python regexp方法返回一个包含空元素的列表

python - beautifulsoup4 不返回内容

带有 BeautifulSoup 的 Python XMl 解析器。如何删除标签?

python - 跳过 BeautifulSoup 中的空白行

python - 从 TD 中提取类别值 -

python - 如何为 Python 安装 SimpleJson 包

python - 平面算法之间的角度太慢

python - 正则表达式匹配联合类型的 "|"分隔值

python BeautifulSoup查找span id名称而不使用string\re方法

python - BeautifulSoup 错误地检查 NavigableString 元素的子成员身份?