from lxml.html.clean import clean_html, Cleaner
def clean(text):
try:
cleaner = Cleaner(scripts=True, embedded=True, meta=True, page_structure=True, links=True, style=True,
remove_tags = ['a', 'li', 'td'])
print (len(cleaner.clean_html(text))- len(text))
return cleaner.clean_html(text)
except:
print 'Error in clean_html'
print sys.exc_info()
return text
Я собрал вышеупомянутый (уродливый) код в качестве моих начальных набегов на землю python. Я пытаюсь использовать очиститель lxml, чтобы очистить пару html-страниц, поэтому в конце я просто оставил текст и ничего больше - но попробуйте, как я мог, выше, похоже, не работает как таковой, я все еще осталось с подменю разметки (и, похоже, она не разбита html) и, в частности, ссылки, которые не удаляются, несмотря на аргументы, которые я использую в remove_tags
и links=True
любая идея, что происходит, возможно, я лаяла неправильное дерево с помощью lxml? Я думал, что это способ пойти с html-анализом в python?