Принудительно использовать feedparser для очистки всех типов контента - PullRequest
1 голос
/ 19 февраля 2012

Для проекта я хочу использовать feedparser .В принципе, у меня все получилось.

В документации описан раздел о санитарной обработке , что не все типы контента очищаются.Как я могу заставить feedparser сделать это для всех типов контента?

1 Ответ

1 голос
/ 23 февраля 2012

Я думаю, что страница документации feedparser, на которую вы ссылались, дает хороший совет:

* Рекомендуется проверить тип содержимого, например, в. записи [я] .summary_detail.type. Если это текст / обычный текст, то он не был подвергнут санитарной обработке (и вам следует выполнить экранирование HTML перед отображением содержимого).

import cgi
import feedparser

d = feedparser.parse('http://rss.slashdot.org/Slashdot/slashdot')

# iterate through entries. If the type is not text/html, HTML clean it
for entry in d.entries:
    if entry.summary_detail.type != 'text/html':
        print cgi.escape(entry.summary)
else:
    print entry.summary

Конечно, есть десятки способов перебора записей в зависимости от того, что вы хотите с ними делать, когда они будут чистыми.

...