我正在学习BeautifulGroup,发现了许多“html2text”解决方案,但我要找的应该是模仿格式的:
<ul>
<li>One</li>
<li>Two</li>
</ul>
会变成
* One
* Two
以及
Some text
<blockquote>
More magnificent text here
</blockquote>
Final text
到
Some text
More magnificent text here
Final text
我在看医生,但我没有看到任何直接的进展。有什么帮助吗?我很乐意使用美貌以外的东西。
我有一个更简单的任务代码:删除HTML标记,并在适当的位置插入换行符。也许这可以成为你的起点。
Python的
textwrap
模块可能有助于创建缩进的文本块。http://docs.python.org/2/library/textwrap.html
代码中可能还有一些多余的regex。
看一看Aaron Swartz的html2text脚本(可以与
pip install html2text
一起安装)。请注意,输出是有效的Markdown。如果由于某些原因,这不完全适合你,一些相当小的调整应该让你得到你的问题的确切输出:Python的内置html.parser(早期版本的HTMLParser)模块可以很容易地扩展,以创建一个简单的翻译程序,您可以根据自己的具体需要进行调整。它允许您在解析器遍历HTML时钩住某些事件。
由于它的简单特性,你不能像使用漂亮的Soup那样在HTML树上导航(例如兄弟节点、子节点、父节点等),但是对于像你这样的简单情况,它应该足够了。
html.parser homepage
在这种情况下,只要遇到特定类型的开始标记或结束标记,就可以通过添加适当的格式来使用它:
相关问题 更多 >
编程相关推荐