Настройка 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.