2012-03-12 101 views
0

我使用http://code.google.com/p/feedparser/来编写一个简单的新闻集成器。从FeedParser中删除URL和图像

但我想纯文本(与<p>标签),但没有网址或图像(即没有0​​或<img>标签)。

这里有两种方法可以做到这一点:

1.Edit的源代码。 http://code.google.com/p/feedparser/source/browse/branches/f8dy/feedparser/feedparser.py

class _HTMLSanitizer(_BaseHTMLProcessor): 
    acceptable_elements =[....] 

只需取下一个& 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

通常,越快越好,这可以使用python的timeit module来确定。但就你而言,我宁愿不改变源代码,但坚持第二种选择。它有助于可维护性。

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