6

当使用html2text python 包将 html 转换为 markdown 时,它会在文本中添加 '\n'。在http://www.aaronsw.com/2002/html2text/尝试演示时,我也看到了这种行为

有什么办法可以关闭它吗?当然我可以自己删除它们,但是我不想删除的原始文本中可能会出现'\n'。

    html2text('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.')

    u'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n'
4

2 回答 2

10

在最新版本的 html2text 中执行以下操作:

import html2text
h = html2text.HTML2Text()
h.body_width = 0
note = h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!")

这将删除 html2text 否则会执行的自动换行

于 2016-12-19T11:42:36.100 回答
7

查看源代码html2text.py,看起来您可以通过设置BODY_WIDTH来禁用包装行为0。像这样的东西:

import html2text
html2text.BODY_WIDTH = 0
text = html2text.html2text('...')

当然,BODY_WIDTH全局重置会改变模块的行为。如果我需要访问此功能,我可能会寻求修补模块,创建一个参数来html2text()修改每次调用的此行为,并将此修补程序提供给作者。

于 2012-10-11T12:10:12.260 回答