在 <TEXT> 和 </TEXT> 之间搜索列表精细文本



这是一个经过处理的html文件,位于python列表变量中。它还有一些换行符,所以文本是多行的。该列表未标记。存在多组";文本";以及"/文本";在侧角括号中(html标记(。我想提取那些匹配对之间的文本,并将它们附加到另一个列表中。感谢专家的帮助。

with gzip.open(.....)
texty = []
for i, line in enumerate(opened_file): #reading file
texty.append(line.strip(' tnr')

阅读后,它可以加入如下:

lines.append(' '.join(line))

变量texty/行具有多次重复的<TEXT></TEXT>。我需要处理这个文本或行,提取内容并附加到另一个变量(例如上面代码中的行(。最终,这个新内容将被写入一个标题"下的两列或三列的CSV文件;内容K"-

更新:Beautiful汤失败,因为它不是一个字节对象,而是一个列表。这会修复吗:

with gzip.open(.....)
texty = ''
for i, line in enumerate(opened_file): #reading file
texty.join(line.strip(' tnr')

要解析此文本,我建议使用beautifulsoup等HTML解析器。例如:

from bs4 import BeautifulSoup

txt = """
This text I don't want
XXX <TEXT> I want
this text </TEXT> YYY
ZZZ <text> and this too </text>"""
soup = BeautifulSoup(txt, "html.parser")
out = [t.text for t in soup.find_all("text")]
print(out)

打印:

[' I wantnthis text ', ' and this too ']

最新更新