Красивая ошибка декодирования супа

0

Я работаю на работе, и мне нужно разобрать сайт с помощью Beautiful Soup. Сайт http://www.manta.com, но когда я пытаюсь увидеть, что кодировка сайта в метакоде HTML-кода ничего не отображается. Я пытаюсь разобрать HTML локально, загружая веб-страницу, но у меня возникают проблемы с некоторыми ошибками декодирования:

# manta web page downloaded before
html = open('1.html', 'r')
soup = BeautifulSoup(html, 'lxml')

Это приводит к следующей трассировке стека:

Traceback (most recent call last):
  File "E:/Projects/Python/webkit/sample.py", line 10, in <module>
    soup = BeautifulSoup(html, 'lxml')
  File "C:\Python27\lib\site-packages\bs4\__init__.py", line 172, in __init__
    self._feed()
  File "C:\Python27\lib\site-packages\bs4\__init__.py", line 185, in _feed
    self.builder.feed(self.markup)
  File "C:\Python27\lib\site-packages\bs4\builder\_lxml.py", line 195, in feed
    self.parser.close()
  File "parser.pxi", line 1209, in 
    lxml.etree._FeedParser.close(src\lxm\lxml.etree.c:90717)
  File "parsertarget.pxi", line 142, in  
    lxml.etree._TargetParserContext._handleParseResult  (src\lxml\lxml.etree.c:100104)
  File "parsertarget.pxi", line 130, in 
    lxml.etree._TargetParserContext._handleParseResult (src\lxml\lxml.etree.c:99927)
  File "lxml.etree.pyx", line 294, in lxml.etree._ExceptionContext._raise_if_stored 
    (src\lxml\lxml.etree.c:9387)
  File "saxparser.pxi", line 259, in lxml.etree._handleSaxData (src\lxml
    \lxml.etree.c:96065)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 105-106: invalid data

Я пытаюсь ввести кодировку в конструктор Beautiful Soup:

soup = BeautifulSoup(html, 'lxml', from_encoding= "some encoding")

И я продолжаю получать ту же ошибку.

Интересно, что если я загружу страницу в своем браузере, а затем меняю кодировку на utf-8, например, в Firefox и сохраните ее. Эта работа хорошая. Любая помощь очень ценится. Спасибо.

Теги:
beautifulsoup

1 ответ

1

Кодировать строку в UTF-8

soup = BeautifulSoup(html.encode('UTF-8'),'lxml')
  • 0
    Я попытался и получить в процессе кодирования другую ошибку с кодированием
  • 0
    Какую ошибку вы видели?
Показать ещё 3 комментария

Ещё вопросы

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