我正在使用http://code.google.com/p/feedparser/来编写一个简单的新闻集成商。
但我想要纯文本(带<p>
标签),但没有网址或图片(即没有<a>
或<img>
标签)。
以下是两种方法:
1.编辑源代码。 http://code.google.com/p/feedparser/source/browse/branches/f8dy/feedparser/feedparser.py
class _HTMLSanitizer(_BaseHTMLProcessor):
acceptable_elements =[....]
只需删除a&amp; img标签。
2
import feedparser
feedparser._HTMLSanitizer.acceptable_elements = feedparser._HTMLSanitizer.acceptable_elements.remove('a')
feedparser._HTMLSanitizer.acceptable_elements = feedparser._HTMLSanitizer.acceptable_elements.remove('img')
当我使用feedparser时,首先删除这两个标签。
哪种方法更好?
还有其他好方法吗?
非常感谢!
答案 0 :(得分:-1)
通常,越快越好,这可以使用python的timeit module来确定。但在你的情况下,我宁愿不改变源代码,但坚持使用第二个选项。它有助于维护。
其他选项包括编写自定义解析器(使用C扩展以获得最大速度)或者只是让您的网站的模板引擎(Django可能?)剥离这些标记。好吧,我已经改变了主意,最后的解决方案似乎是全能的......