我有如下的HTML解析文本,并尝试以相同的顺序提取文本 .
<b>
<i>
Data
</i>
Data Summary
</b>
Data Description
<pre>Data paragraph which contains huge string
</pre>
<pre></pre>
<b>
<i>
Data 2
</i>
Data 2 Summary
</b>
Data 2 Description
<pre>Data 2 paragraph which contains huge string
</pre>
能够使用 soup.findAll(['b', 'i'])
在标签 i
和 b
之间提取,但是在每个 b
标签之后我都在努力获取没有标签的文本 . 我试过 next_sibling
,它甚至不能用于此 . 任何帮助,将不胜感激 .
预期的结果是:
Data Summary : Data Description : Data paragraph which contains huge string newline Data 2 : Data 2 Summary : Data 2 Description : Data 2 paragraph which contains huge string
1 回答
您可以迭代所有包含文本的元素,如下所示:
这也会剥离任何空格,只存储导致非空字符串的项目 . 它将显示以下列表: