lxml fromstring() выдает HTML-код с

#python #lxml #elementtree

#python #lxml #elementtree

Вопрос:

Я читаю на веб-странице из интрасети через

         webpage = urllib2.urlopen(urllib2.Request(self.URL))
        doc =  webpage.read()
        root = html.fromstring(doc)
  

Я заметил, что я ничего не могу прочитать через findall() из этого корневого объекта, затем я заглянул в корневой объект через:

 code = etree.tostring(root)
  

что дало мне точный HTML-код, но с

amp;#13;

везде в коде. Я думаю, что это может вызвать проблемы с моим синтаксическим анализом (по крайней мере, я на это надеюсь).

Как я могу получить чистый HTML-код из этого? Требуется какое-либо кодирование / декодирование?

Я пытался декодировать его в UTF-8, но, похоже, это не сработало.

 print code.decode('utf-8')
  

Ответ №1:

Неважно, проблема была не в этом.

Проблема заключалась в том, что я загрузил сайт и проанализировал его в автономном режиме, где он проник

< tbody >

теги, которые я использовал в своих запросах Xpath. Это привело к тому, что мой скрипт не работал при загрузке веб-сайта заново через lxml.