Кодировка документа — Grab 0.6.30 documentation

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »

# Кодировка документа

## Для чего нужно знать кодировку

По-умолчанию, кодировка данных, полученных с сервера, определяется автоматически. Естественно, это имеет смысл только для текстовых данных. Grab использует кодировку документа, чтобы:

- построить DOM-дерево документа
- получить текст документа в unicode-виде.
- провести поиск unicode-строки в документе
- преобразовать unicode-данные в байтовую строку для отправки в запросе

Оригинальное содержимое документа доступно в аттрибуте body объекта response, unicode-представление документа можно получить методом unicode_body() объекта response:

    >>> g.go('http://yandex.ru')
    <grab.response.Response object at 0x11bea90>
    >>> type(g.response.body)
    <type 'str'>
    >>> type(g.response.unicode_body())
    <type 'unicode'>

## Алгоритм определения кодировки

Алгоритм определения кодировки документа проверяет несколько источников, в следующем порядке:

- мета-тэг <meta content=”Http-Equiv” >
- xml-декларация (в случае XML-документа)
- значение HTTP-заголовка “Content-Type:”

Если кодировку определить не удалось или было найдено некорректное имя кодировки, то по-умолчанию, используется кодировка UTF-8.

## Опция задания кодировки

Вы можете принудительно задать кодировку документа (отлючив её автоматическое определение) опцией charset.

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »