Как восстановить документ из неправильно закрытых тегов в python?

0

Вот моя проблема

У меня есть образец текста, например

text="""<!--translated from:

The Dutch Royal Library

"""

теперь я попытался удалить этот текст из тегов, но я всегда получаю эту ошибку, используя этот код

t = html.fromstring(text)
ctext = t.text_content()

и моя ошибка

Traceback (most recent call last):
  File "test.py", line 31, in <module>
    t = html.fromstring(text)
  File "/usr/lib/python2.7/dist-packages/lxml/html/__init__.py", line 634, in fromstring
    doc = document_fromstring(html, parser=parser, base_url=base_url, **kw)
  File "/usr/lib/python2.7/dist-packages/lxml/html/__init__.py", line 535, in document_fromstring
    "Document is empty")
lxml.etree.ParserError: Document is empty

Я проследил ошибку, которую обнаружил, что удаление незакрытых

Я уже пробовал использовать BeautifulSoup

и вот мой код

soup = BeautifulSoup(text)
print soup.prettify()

но бесполезно, так может кто-нибудь мне помочь?

  • 0
    <!-- это закрытый тег комментария.
  • 0
    Я знаю, но я имею дело с данными около 2 Гб, и я столкнулся с этой ошибкой при разборе, поэтому мне нужен мой скрипт, чтобы справиться с этим
Показать ещё 2 комментария
Теги:

1 ответ

1

Попробуйте удалить закрытый тег:

soup = BeautifulSoup(text[4:])
print soup.prettify()

Тогда BeautifulSoup сможет найти контент. Вы можете получить дополнительную информацию об этой библиотеке на странице документации

  • 0
    на самом деле у меня есть тег комментария, <! - но он закрыт, что создает проблемы
  • 1
    Так что попробуйте удалить нежелательный блок текста

Ещё вопросы

Сообщество Overcoder
Наверх
Меню