Я пытаюсь проанализировать HTML-страницу в Python, используя lxml.html.
Я использовал следующий код:
import lxml.html as H
page = open('page.html', 'r').read()
doc = H.fromstring(page)
print H.tostring(doc)
page.html - это веб-страница, которую яскачанный с прокси-программой, которую я написал ранее, которая делает некоторую работу по использованию прокси и передачи кодировки.Кодировка файла была изменена на utf-8, в то время как объявление кодировки на странице выглядит следующим образом:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
Кстати, gb2312 является своего рода набором китайских символов.
Вво-первых, я запустил приведенный выше код на python, но он напечатал только пустую структуру html, которая является неправильной, а не то, что я хотел.: когда я заменил 'charset = gb2312' пустой строкой, код синтаксического анализа работал, как я и ожидал.
Но я не совсем понимаю, почему это произошло.И способ, которым я решил проблему, правильный метод или просто совпадение?