【发布时间】:2014-12-21 21:14:14
【问题描述】:
我正在努力学习使用 Whoosh。我有大量要搜索的 html 文档。我发现 text_content() 方法会产生一些有趣的问题,例如我可能有一些文本组织在一个看起来像
的表格中<html><table><tr><td>banana</td><td>republic</td></tr><tr><td>stateless</td><td>person</td></table></html>
当我获取原始字符串并获取树然后使用 text_content 按以下方式获取文本时
mytree = html.fromstring(myString)
text = mytree.text_content()
结果没有空格(正如预期的那样)
'bananarepublicstatelessperson'
我尝试使用 string.replace() 插入新行
myString = myString.replace('</tr>','</tr>\n')
我确认新行存在
'<html><table><tr><td>banana</td><td>republic</td></tr>\n<tr><td>stateless</td><td>person</td></table></html>'
但是当我从上面运行相同的代码时,换行符不存在。因此生成的 text_content() 看起来就像上面一样。 这是我的一个问题,因为我需要能够分隔单词,我想我可以在每个 td 之后添加不间断空格,在行之后添加换行符以及在正文元素等之后添加换行符以获得合理符合我的文本原始来源。
我会注意到我做了一些更多的测试,发现在段落标签关闭后插入的换行符被保留了。但是我需要能够搜索表格中的大量文本。
感谢您的帮助
【问题讨论】: