Удалить URL-адреса и изображения из FeedParser - PullRequest
0 голосов
/ 12 марта 2012

Я использую http://code.google.com/p/feedparser/ для написания простого интегратора новостей.

Но я хочу чистый текст (с тегами <p>), но без URL-адресов или изображений (т. Е. Нет <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 сначала удалите два тега.

Какой метод лучше?

Есть ли другие хорошие методы?

Большое спасибо!

1 Ответ

0 голосов
/ 12 марта 2012

Обычно, чем быстрее, тем лучше, и это можно определить с помощью модуля времени Python .Но в вашем случае я бы предпочел не изменять исходный код, а придерживаться второго варианта.Это помогает ремонтопригодности.

Другие варианты включают написание пользовательского парсера (используйте расширение C для максимальной скорости) или просто позволяйте шаблонизатору вашего сайта (возможно, Django?) Убирать эти теги.Ну, я передумал, последнее решение кажется лучшим из всех ...

...