真的很简单,但不知怎的,我无法弄明白。 我有以下内容,我们称之为“s”:
<tr>
<td class="some_class">
<span class="outer_class">
<span class="inner_class" style="width:86.0px"></span>
</span>
</td>
<td>Variable_name</td>
</tr>
我想提取“风格”的价值,即。 86.0px(文字或字符串,我不在乎)。
我试过了:
s.find(attrs={"style"})
但它返回“None”(但它存在,最坏的情况,它的值为0.0)。
并且.contents
返回标记之间的整个值。
感谢您的帮助。
答案 0 :(得分:0)
知道了。
width_long=s.find_all('tr')[0].find_all('span')[1].get('style')
当然,需要找到答案。
答案 1 :(得分:0)
也许: var sd = document.querySelectorAll('。inner_class'), widthValue = sd [0] .attributes ['style']。value.replace('width:','');
答案 2 :(得分:0)
这可以返回所有范围的样式列表:
allSpanStyle = map(lambda x: x.get('style'), s.find_all("span"))
notNoneStyle = [x for x in allSpanStyle if x is not None]
不幸的是,这个样式似乎是一个unicode字符串。您必须使用正则表达式或手工程序来解析它。
答案 3 :(得分:0)
你可以pass a filter function to the soup.find
function:
s.find(lambda tag:tag.has_attr('style')).get('style')