Я пытаюсь «defrontpagify» html сайта, созданного MS FrontPage, и пишу скрипт BeautifulSoup для этого.
Однако я застрял в той части, где я пытаюсь удалить определенный атрибут (или список атрибутов) из каждого тега в документе, который их содержит.Фрагмент кода:
REMOVE_ATTRIBUTES = ['lang','language','onmouseover','onmouseout','script','style','font',
'dir','face','size','color','style','class','width','height','hspace',
'border','valign','align','background','bgcolor','text','link','vlink',
'alink','cellpadding','cellspacing']
# remove all attributes in REMOVE_ATTRIBUTES from all tags,
# but preserve the tag and its content.
for attribute in REMOVE_ATTRIBUTES:
for tag in soup.findAll(attribute=True):
del(tag[attribute])
Он работает без ошибок, но фактически не удаляет ни один из атрибутов.Когда я запускаю его без внешнего цикла, просто жестко кодирую отдельный атрибут (soup.findAll ('style' = True)), он работает.
Кто-нибудь знает, знает ли здесь проблему?- Мне также не очень нравятся вложенные циклы. Если кто-нибудь знает более функциональный стиль карты / фильтра, я бы с удовольствием посмотрел его.