使用BeautifulSoup解析HTML文件时如何定位图片中的高亮元素
解决方法
你要定位的是截图中带highlight类的高亮元素,对应find_all的传参方式如下:
- 限定匹配
<span>标签的高亮元素:S.find_all("span", class_="highlight") - 不限定标签,匹配所有带
highlight类的元素:S.find_all(class_="highlight")
代码优化建议
文件读取部分推荐使用上下文管理器自动管理文件句柄,避免资源泄漏,同时指定编码防止乱码,修改后完整代码如下:
from bs4 import BeautifulSoup # 用with上下文管理器打开文件,自动处理关闭 with open("index.html", "r", encoding="utf-8") as HTMLFile: contents = HTMLFile.read() S = BeautifulSoup(contents, 'html.parser') # 输出所有高亮元素 print(S.find_all(class_="highlight"))
内容的提问来源于stack exchange,提问作者Amrita
相关产品推荐
相关产品推荐

