美丽的解析喜悦-哦,多有趣

大家好, 我试图将桌子分析成桌子,我有所有 乐趣. 有人可以帮我吗? 我想要的是: dic = {'division Code':'sals','雇员':'loo oble'} 这是我拥有的.. html =""""

dission代码: sals
员工: loo able

"" 来自美丽的小组 汤= beautifutsoup() 汤.喂养(html) dic = {} 对于汤中的行('table')[0]('tr'): 列=行('TD') 打印列[1] .findnext('font').string.strip(), 列[2] .findnext('font').string.strip() dic [列[1] .findnext('font').string.strip()] = 列[2] .findnext('font').string.strip() 对于dic.keys()中的键: 打印钥匙,DIC [键] 问题是我缺少姓氏. 我如何获得"全部" 文字. 显然我的字符串有问题.但是 我不确定是什么. 请,谢谢!

# 回答1

Rh0dium写道: 在最后一行中,您有3个标签. 第一个 包含Loo,第二个是空的,第三个 包含能力.

loo able

您的代码不会期望第二个(空)标签. -larry bates

# 回答2

也许更强大的方法只是漫步在弦上 计算括号数的(增量)时" <"和">"的数量 知道所有相关文本都发生在">"之后 这将您的反击设置为0(意味着您处于"最高级别"). 如果下一个字符再次为" <",则没有相关文本.
# 回答3

这是一种方法: 导入 _any_re = re.compile('.+') d = {} 对于Beautifulsoup(html)中的行.Fetch('tr'): 列= row.fetch('td') 字段=列[1] .firstText(_ANY_RE).rSTRIP('\ t \ n:') 值=''.join(text.rstrip() 对于列中的文本[2] .fetchText(_any_re)) D [field] =值 打印d 乔治

标签: python

添加新评论