微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用beautifulsoup提取换行符之间的文本例如 标签

如何解决使用beautifulsoup提取换行符之间的文本例如 标签

如果只需要两个<br />标签间的任何文本,则可以执行以下操作:

from BeautifulSoup import BeautifulSoup, NavigableString, Tag

input = '''<br />
Important Text 1
<br />
<br />
Not Important Text
<br />
Important Text 2
<br />
Important Text 3
<br />
<br />
Non Important Text
<br />
Important Text 4
<br />'''

soup = BeautifulSoup(input)

for br in soup.findAll('br'):
    next_s = br.nextSibling
    if not (next_s and isinstance(next_s,NavigableString)):
        continue
    next2_s = next_s.nextSibling
    if next2_s and isinstance(next2_s,Tag) and next2_s.name == 'br':
        text = str(next_s).strip()
        if text:
            print "Found:", next_s

但是也许我误解了你的问题?您对问题的描述似乎与示例数据中的“重要” /“不重要”不符,因此我不再赘述;)

解决方法

我在较大的文档中包含以下HTML

<br />
Important Text 1
<br />
<br />
Not Important Text
<br />
Important Text 2
<br />
Important Text 3
<br />
<br />
Non Important Text
<br />
Important Text 4
<br />

我目前正在使用BeautifulSoup来获取HTML中的其他元素,但是我一直无法找到一种方法来获取<br />标记之间的重要文本行。我可以隔离并导航到每个<br />元素,但找不到找到介于两者之间的方法。任何帮助将不胜感激。谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。