лучший python lib для очистки тега (небезопасно) и сохранения тега, который я считаю безопасным - PullRequest
2 голосов
/ 13 июля 2010

Пример: я хочу очистить тег «script», но я хочу сохранить тег «a»,

, так какую библиотеку вы используете для этого.JQuery Cleditor для WYSIWYG HTML-редактор, это может сделать это для меня автоматически?

спасибо

Ответы [ 3 ]

3 голосов
/ 13 июля 2010

Я должен сделать это автоматически для моего проекта. Решение, которое я нашел, состоит в использовании модуля Beautiful Soup для извлечения тега сценария (я также делаю это для стиля и формы).

soup = BeautifulSoup(html_string, convertEntities=BeautifulSoup.HTML_ENTITIES)

scripts = soup.findAll('script')   # find and return a list of 'script' entities
for s in scripts:
    s.extract()   # remove it from the DOM completely

Затем можно распечатать BeautifulSoup или сохранить html.

2 голосов
/ 13 июля 2010

Я полагаю, что BeautifulSoup должны сделать вот что.

Собственно, вот вопрос + ответы, которые именно об этом: Python HTML sanitizer/ скруббер / фильтр

0 голосов
/ 19 июля 2010

Другой вариант, разработанный для очистки, - html5lib .

Что бы вы ни делали, делайте , а не , полагайтесь на компонент редактора, чтобы сделать это за вас:на клиенте, поэтому можно легко манипулировать для отправки недействительного или вредоносного HTML!

...