将HTML转换为纯文本并保持基本格式

时间:2012-11-07 22:28:24

标签: python html templates

我正在寻找一种方法将HTML格式的文本转换为纯文本,同时保持其基本结构,也许稍微调整一下,所以:

<p>This is a paragraph.</p>
<ol>
  <li>List item 1.</li>
  <li>List item 2.</li>
</ol>
<p>This is an <a href="www.google.com">anchor</a>.</p>

变为:

  

这是一个段落。

     
      
  • 列出项目1。
  •   
  • 列出项目2.
  •   
     

这是一个主播(www.google.com)。

关于如何有效实现大量HTML格式模板的任何想法?

  • 请注意,结构外部最重要的部分是保持锚。

1 个答案:

答案 0 :(得分:3)

使用基于文本的浏览器,例如lynx,并将其输出到stdout。我不确定它是否适合你所有的调整需求,但这是一个非常快速和简单的开始

lynx -crawl -dump http://stackoverflow.com/questions/13279364/convert-html-to-plain-text-and-keep-basic-formatting

(实际上,我希望你的名单是

1. List item 1.
2. List item 2.

因为它是一个有序列表)

编辑:实际上更多地考虑了您的实际用例,它完美运行:

> echo '<p>This is a paragraph.</p>
<ol>
  <li>List item 1.</li>
  <li>List item 2.</li>
</ol>
<p>This is an <a href="http://www.google.com">anchor</a>.</p>' | lynx -stdin -dump

变为

   This is a paragraph.
    1. List item 1.
    2. List item 2.

   This is an [1]anchor.

References

   1. http://www.google.com/