从FeedParser中删除URL和图像

时间:2012-03-12 13:31:30

标签: python open-source feed google-code

我正在使用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时,首先删除这两个标签。

哪种方法更好?

还有其他好方法吗?

非常感谢!

1 个答案:

答案 0 :(得分:-1)

通常,越快越好,这可以使用python的timeit module来确定。但在你的情况下,我宁愿不改变源代码,但坚持使用第二个选项。它有助于维护。

其他选项包括编写自定义解析器(使用C扩展以获得最大速度)或者只是让您的网站的模板引擎(Django可能?)剥离这些标记。好吧,我已经改变了主意,最后的解决方案似乎是全能的......