我正在使用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& 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时,首先删除这两个标记。
哪种方法更好?
有没有其他好的方法?
非常感谢!
发布于 2012-03-12 21:51:24
通常,越快越好,这可以使用python的timeit module来确定。但在您的情况下,我不喜欢修改源代码,而是坚持第二种选择。它有助于可维护性。
其他选择包括编写自定义解析器(使用C扩展以获得最大速度),或者让站点的模板引擎(Django?)去掉那些标签。嗯,我改变主意了,最后的解决方案似乎是最好的……
https://stackoverflow.com/questions/9667962
复制相似问题