Задать вопрос
@Denis9999

Почему в python 3 lxml.html.document_fromstring выводит не то, что должен?

Во всех примерах приведенный ниже код выводит 'Привет мир', а у меня:
<Element html at 0x2ab9540>
Скажите, пожалуйста, в чем тут проблема?

data = """<html>
<head>
</head>
<body>Привет мир</body>
</html>"""
html = lxml.html.document_fromstring(data)
print (html)
  • Вопрос задан
  • 1242 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
>>> import lxml.html
>>> html = lxml.html.fromstring('''\
...    <html><body onload="" color="white">
...      <p>Hi  !</p>
...    </body></html>
... ''')

>>> print lxml.html.tostring(html)
<html><body onload="" color="white"><p>Hi !</p></body></html>

>>> print lxml.html.tostring(html)
<html> <body color="white" onload=""> <p>Hi    !</p> </body> </html>

>>> print lxml.html.tostring(html)
<html>
  <body color="white" onload="">
    <p>Hi !</p>
  </body>
</html>
Ответ написан
Комментировать
@belanchuk
1. Используйте юникод.
2. Обращайтесь к тексту по тегам:

from lxml import html
data = u"""<html>
<head>
</head>
<body>Привет мир</body>
</html>"""
html = html.document_fromstring(data)
print html.head.body.text
In [1]: Привет мир
Ответ написан
Комментировать
@abcd0x00
Во всех примерах приведенный ниже код выводит 'Привет мир'

Такого не может быть. У тебя всё правильно выводится.

Скажите, пожалуйста, в чем тут проблема?

Либо пример неправильно переписал, либо пример неправильный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы