考虑以下html片段
<html>
.
.
.
<div>
<p> Hello </p>
<div>
<b>
Text1
</b>
<p>
This is a huge paragraph text
</p>
.
.
.
</div>
</div>
.
.
.
<div>
<i>
Text2
</i>
</div>
让我们说,我需要提取Text1
至Text2
中的所有内容,包括标签。使用几种方法,我已经能够提取这两个标签,即它们的唯一ID。
基本上,我有2个Element.etree元素,分别对应于我需要的两个标签。
如何提取两个标签之间的所有内容?
((我想到的一种可能的解决方案是找到两个共同祖先标签,并执行iterwalk()
并在Element1处开始提取,并在2处停止。但是,我不确定这是怎么回事)任何解决方案将不胜感激。
[请注意,我已经找到了我需要的两个标签,并且我没有在寻找找到那些标签的解决方案(例如,使用xpath)
编辑:我想要的输出是
<b>
Text1
</b>
<p>
This is a huge paragraph text
</p>
.
.
.
</div>
</div>
.
.
.
<div>
<i>
Text2
</i>
[请注意,我不介意最初的2个<div>
标签,但不希望使用Hello
。最后的结束标记也是如此。我对中间的内容最感兴趣。
您可以使用Beautiful Soup 4来做到这一点。似乎您想要多个div的内容,因此我将相应地写出我的答案以及其他一些片段以了解用法。我还对您的数据进行了重新格式化(找出所有间隔),以使输出更易理解。