Я хотел бы написать сценарий, который удалит все изображения из простого html-файла в Python и сохранит файл на месте.Python strip document of images tags
Вот моя попытка:
from bs4 import BeautifulSoup, NavigableString
def strip_tags(html, invalid_tags):
soup = BeautifulSoup(html)
for tag in soup.findAll(True):
if tag.name in invalid_tags:
s = ""
for c in tag.contents:
if not isinstance(c, NavigableString):
c = strip_tags(unicode(c), invalid_tags)
s += unicode(c)
tag.replaceWith(s)
return soup
data ="C:\\Users\\ADMIN\\Documents\\webpage 1.htm"
with open(data) as orig_f:
html = BeautifulSoup(orig_f.read())
invalid_tags = ['img']
print orig_f
print strip_tags(orig_f, invalid_tags)
Есть две вещи, которые я борюсь с, прежде всего кода работает без ошибок, но в последней строке, печать, печатает ничего, и линии до который печатает адрес памяти. Я попытался найти свою проблему/прочитать документы, чтобы понять, что я делаю неправильно здесь, но боюсь.
Как я могу сделать этот код удалением всех тегов изображений из моего HTML-файла и какова наилучшая практика для его сохранения?