<p>
A
<br>
<br>
B
<a ...>
<span >C</span>
</a>
D
<a ...>
<span >E</span>
</a>
F
</p>
我想得到的结果是“ABCDEF”。
我知道xpath(text()).getall()
可以得到“A”“B”“D”“F”
而xpath(./*)
可以得到“C”和“E”
但是这样我就不知道元素的正确顺序了,我该怎么做呢?
2条答案
按热度按时间nmpmafwu1#
xpath表达式
txt = ''.join([ x.get().strip() for x in response.xpath('//p//text()')])
将提取值"ABCDEF".
由碎贝壳证实:
yebdmbv42#
两者都应该可以。检查this answer以获得更清晰的信息。另外,如果使用python -为提取的元素创建一个列表()以保持顺序。