Настройка Grab-объекта

Способы задания настроек

Вы можете изменить свойства Grab объекта различными путями.

Во-первых, вы можете передать настройки через конструктор:

g = Grab(log_file='...', url='...')

Далее вы можете использовать метод setup:

g = Grab()
g.setup(log_file='...', url='...')

Самое позднее, где вы можете передать настройки, в методах, которые инициализируют сетевой запрос:

g.request(log_file='...')

или:

g.go('http://...', log_file='...')

Разница между методами go и request в том, что метод go требует обязательным первым параметром сетевой адрес, который в других случаях передаётся с помощью настройки url. Я часто использую метод go т.к. это придаёт выразительности программе.

Полный список настроек вы можете посмотреть в документе Полный список настроек

Клонирование

Если вам нужно создать ещё один Grab объект со свойствами существующего объекта, вы можете использовать метод clone():

g2 = g.clone()

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

Также существует метод adopt(), который позволяет привести состояние Grab-объекта к состоянию Grab-объекта, переданного аргументом методу adopt.