如何使用BeautifulSoup获取HTML标签中end属性的值?
使用BeautifulSoup获取HTML元素的end属性值
先把你提供的HTML代码贴出来方便参考:
<div class="number" color="secondary" data-reactid="72" end="4269" start="0" style="display:flex;align-content:space-between;font-size:1.6rem;line-height:2.2399999999999998rem;color:rgb(130, 130, 130);">0</div>
这事儿其实挺简单的,用BeautifulSoup几步就能拿到end属性的数值,我给你一步步拆解:
- 首先导入BeautifulSoup库,把你的HTML代码传入解析器完成解析
- 定位到目标
<div>元素,这里可以用它的class="number"来定位,当然你也可以用data-reactid这类属性来精准匹配 - 用
get()方法获取end属性的值,最后转成整数类型(因为属性值默认是字符串格式)
直接看代码示例更直观:
from bs4 import BeautifulSoup # 把你的HTML代码存成字符串变量 html_content = '''<div class="number" color="secondary" data-reactid="72" end="4269" start="0" style="display:flex;align-content:space-between;font-size:1.6rem;line-height:2.2399999999999998rem;color:rgb(130, 130, 130);">0</div>''' # 初始化BeautifulSoup解析器 soup = BeautifulSoup(html_content, 'html.parser') # 找到目标div元素,class参数要加下划线写成class_,避免和Python关键字冲突 target_div = soup.find('div', class_='number') # 安全获取end属性并转成数值 if target_div: end_number = int(target_div.get('end')) print(end_number) # 运行后会输出 4269
这里用get('end')而不是直接target_div['end']的好处是:如果这个div碰巧没有end属性,get()会返回None而不是直接报错,代码会更健壮。
内容的提问来源于stack exchange,提问作者Rakesh Singh
相关产品推荐
相关产品推荐

