如何使用BeautifulSoup解析嵌套HTML标签提取指定内容存入字典
BS4提取a标签指定内容解决方案
错误原因
原有代码的问题在于直接将a标签内所有文本合并后按字母、数字拆分过滤,会丢失key自带的数字,同时会把key中的数字混入value,导致结果不符合预期。
正确实现代码
from bs4 import BeautifulSoup # 假设你的HTML内容存在html_content变量中 soup = BeautifulSoup(html_content, "html.parser") tags = {} for a_tag in soup.select("a"): # recursive=False设置仅提取a标签直接子节点的文本,不会读取span等内部标签的内容 key = a_tag.find(string=True, recursive=False).strip() # 单独提取a标签内span标签的文本作为value value = a_tag.find("span").get_text(strip=True) tags[key] = value
输出验证
运行后得到的tags变量和你需要的结构完全一致:
{ 'RSO': '136', '3AD': '53', 'Lost in transition': '2803' }
内容的提问来源于stack exchange,提问作者Edward Lauren
相关产品推荐
相关产品推荐

