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

如何用BeautifulSoup提取HTML元素的rel属性值?

提取BeautifulSoup元素的rel属性值

嗨,这个问题超容易解决的!BeautifulSoup给我们提供了好几种提取元素属性的便捷方式,我给你梳理几个常用的:

  • 方法1:字典式直接访问(最常用)
    当你已经获取到目标block元素后,直接把它当成字典,通过键名'rel'来获取值:

    if block:  # 先确保元素存在,避免找不到时报错
        rel_value = block['rel']
        print(rel_value)  # 输出结果:18.04.2020
    

    注意:如果目标元素没有rel属性,这种方式会抛出KeyError,所以最好先判断元素是否存在。

  • 方法2:使用get()方法(更安全)
    如果你不确定元素是否一定有rel属性,用get()方法更稳妥,它会在属性不存在时返回None,还可以自定义默认值:

    if block:
        # 无rel属性时返回None
        rel_value = block.get('rel')
        # 或者设置默认值,比如无属性时返回'无rel属性'
        rel_value = block.get('rel', '无rel属性')
        print(rel_value)
    
  • 方法3:通过attrs属性访问
    每个BeautifulSoup的Tag对象都有attrs属性,它是一个包含所有属性的字典,你也可以通过它来取值:

    if block:
        rel_value = block.attrs['rel']
        # 同样可以结合get()使用
        rel_value = block.attrs.get('rel')
    

结合你的代码,完整的示例代码如下:

from bs4 import BeautifulSoup

# 假设r.text是你的HTML响应内容
soup = BeautifulSoup(r.text, "html.parser")
block = soup.find("div", {"class": "datepicker-filter"})

# 推荐使用的安全写法
if block:
    rel_value = block.get('rel')
    print(f"提取到的rel属性值:{rel_value}")
else:
    print("未找到目标div元素")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 12:02:43