Source

grab / docs / grab / options.rst

Полный список настроек

О том как изменять настройки, читайте в :ref:`grab_customization`.

Настройки

url

Сетевой адрес запрашиваемого документа. Можно использовать относительный адрес, в таком случае полный адрес будет получен путём соединения с полным адресом предыдущего сетевого запроса. Grab ожидает адрес в корректном формате. Это ваша обязанность - преобразовать все нестдартные символы в escape-последовательности (RFC 2396).

Type:string
Default:None

timeout

Максимальное время, отведённое на получение документа.

Type:int
Default:15

connect_timeout

Максимальное время, отведённое на ожидание начала получения данных от сервера.

Type:int
Default:10

user_agent

Содержимое HTTP-заголовка User-Agent. По-умолчанию, случайный выбор из множества реальных User-Agent значений, заложенных в Grab.

Type:string
Default:см. выше

user_agent_file

Путь к текстовому файлу с User-Agent строками. При указании этой опции, будет выбран случайный вариант из указанного файла.

Type:string
Default:None

method

Выбор метода HTTP-запроса. По-умолчанию, используется GET метод. Если заданы непустые опции post или multipart_post, то используется POST метод. Возможные варианты: GET, POST, PUT, DELETE.

Type:string
Default:"GET"

post

Данные для отправки запроса методом POST. Значением опции может быть словарь или последовательность пар значений или просто строка. В случае словаря или последовательности, каждое значение обрабатывается по следующему алгоритму: * объекты класса UploadFile преобразовываются во внутреннее представление библиотеки pycurl * unicode-строки преобразовываются в байтовые строки * None-значения преобразовываются в пустые строки

Если значением post опции является строка, то она передаётся в сетевой запрос без изменений.

Type:sequence or dict or string
Default:None

multipart_post

Данные для отправки запроса методом Post. Значением опции может быть словарь или последовательность пар значений. Данные запроса будут отформатированы в соотвествии с методом "multipart/form-data".

Type:sequence or dict
Default:None

headers

Дополнительные HTTP-заголовки. Значение этой опции будут склеено с заголовками, которые Grab отправляет по-умолчанию. Смотрите подробности в :ref:`request_headers`.

Type:dict
Default:None

reuse_cookies

Если True, то кукисы из ответа сервера будут запомнены и отосланы в последующем запросе на сервер. Если False то кукисы из ответа сервера запоминаться не будут.

Type:bool
Default:True

cookies

Кукисы для отправки на сервер. Если включена также опция reuse_cookies, то кукисы из опции cookies будут склеены с кукисами, запомненными из ответов сервера.

Type:dict
Default:None

cookiefile

Перед каждым запросом Grab будет считывать кукисы из этого файла и объединять с теми, что он уже помнит. После каждого запроса, Grab будет сохранять все кукисы в указанный файл.

Формат данных в файле: JSON-сериализованный словарь.

referer

Указание Referer заголовка. По-умолчанию, Grab сам формирует этот заголовок из адреса предыдущего запроса.

Type:string
Default:см. выше

reuse_referer

Если True, то использовать адрес предыдущего запроса для формирования заголовка Refeer.

Type:bool
Default:False

proxy

Адрес прокси-сервера в формате "server:port".

Type:string
Default:None

proxy_userpwd

Данные авторизации прокси-сервера в формате "username:password".

Type:string
Default:None

proxy_type

Тип прокси-сервера. Возможные значения: "http", "socks4" и "socks5".

Type:string
Default:None

encoding

Метод сжатия трафика. По-умолчанию, значение этой опции равно "gzip". С некоторыми серверами возможны проблемы в работе pycurl, когда gzip включен. В случае проблем передайте в качестве значения опции пустую строку, чтобы выключить сжатие.

Type:string
Default:"gzip"

charset

Указание кодировки документа. По-умолчанию, кодировка определяется автоматически. Если определение кодировки проходит неправильно, вы можете явно указать нужную кодировку. Значение кодировки будет использовано для приведения содержимого документ в unicode-вид, а также для кодирования строковых не-ascii значений в POST данных.

Type:string
Default:None

log_file

Файл для сохранения полученного с сервера документа. Каждый новый запрос будет перезатить сохранённый ранее документ.

Type:string
Default:None

log_dir

Директория для сохранения ответов сервера. Каждый ответ сохраняется в двух файлах: * XX.log содержит HTTP-заголовки запроса и ответа * XX.html содержите тело ответа XX - это номер запроса. Смотрите подробности в :ref:`grab_debugging`.

Type:string
Default:None

follow_refresh

Автоматическая обработка тэга <meta http-equiv="refresh">.

Type:bool
Default:False

follow_location

Автоматическая обработка редиректов в ответах со статусом 301 и 302.

Type:bool
Default:True

nobody

Игнорирование тела ответа сервера. Если опция включена, то соединение сервером будет разорвано после получения всех HTTP-заголовков ответа. Эта опция действует для любого метода: GET, POST и т.д.

Type:bool
Default:False

body_maxsize

Ограничение на количество принимаемых данных от сервера.

Type:int
Default:None

debug_post

Вывод через logging-систему содержимого POST-запросов.

Type:bool
Default:False

hammer_mode

Режим повторных запросов. Смотрите подробности в :ref:`hammer_mode`.

Type:bool
Default:False

hammer_timeouts

Type:list
Default:((2, 5), (5, 10), (10, 20), (15, 30))

Настройка таймаутов для режима повторных запросов.

userpwd

Имя пользователя и пароль для прохождения http-авторизации. Значение опции - это строка вида "username:password"

Type:string
Default:None

lowercased_tree

Приведение HTML-код документа к нижнему регистру перед построением DOM-дерева. Эта опция не влияет на содержимое response.body.

type:bool
Default:False

strip_null_bytes

Удаление нулевых байтов из HTML-кода документа перед построением DOM-дерева. Эта опция не влияет на содержимое response.body. Если в теле документа встретится нулевой байт, то библиотека LXML построит DOM-дерево только по фрагменту, следующему до первого нулевого байта.

Type:bool
Default:True

strip_xml_declaration

Удаление XML declaration из тела документа перед тем, как строить его unicode-представление. Я забыл зачем это нужно :) Попозже допишу помощь.

Type:bool
Default:True