2012-03-12 103 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可能?)去掉這些標記。好吧,我改變了主意,最後的解決方案似乎是最好的全能...