我使用PyQuery来处理这个HTML:
<div class="container">
<strong>Personality: Strengths</strong>
<br />
Text
<br />
<br />
<strong>Personality: Weaknesses</strong>
<br />
Text
<br />
<br />
</div>
既然我已经将变量e
指向.container
,我就会在其子代中循环:
for c in e.iterchildren():
print c.tag
但是通过这种方式我无法获得文本节点(两个Text
字符串)
如何循环元素的子元素包括文本节点?
答案 0 :(得分:0)
你可以喜欢
for c in e.children():
p = PyQuery(c)
print p.__str__()
#here re.sub remove html tag
此代码可以获取每个节点的原始文本。 如果您想将文本标签与其他标签区分开来:
raw = p.__str__().strip()
a = raw.rfind(">")
if (a+1!=len(raw)) :
print 'is text'