VkTools

Модуль для выкачивания множества результатов

class vk_api.tools.VkTools(vk)[source]

Содержит некоторые вспомогательные функции, которые могут понадобиться при использовании API

Parameters:vk – Объект VkApi
get_all_iter(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]

Получить все элементы.

Работает в методах, где в ответе есть count и items или users. За один запрос получает max_count * 25 элементов

Parameters:
  • method (str) – имя метода
  • max_count (int) – максимальное количество элементов, которое можно получить за один запрос
  • values (dict) – параметры
  • key (str) – ключ элементов, которые нужно получить
  • limit (int) – ограничение на количество получаемых элементов, но может прийти больше
  • stop_fn (func) – функция, отвечающая за выход из цикла
  • negative_offset (bool) – True если offset должен быть отрицательный
get_all(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]

Использовать только если нужно загрузить все объекты в память.

Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_iter

Например если вы записываете объекты в БД, то нет смысла загружать все данные в память

get_all_slow_iter(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]

Получить все элементы (без использования execute)

Работает в методах, где в ответе есть count и items или users

Parameters:
  • method (str) – имя метода
  • max_count (int) – максимальное количество элементов, которое можно получить за один запрос
  • values (dict) – параметры
  • key (str) – ключ элементов, которые нужно получить
  • limit (int) – ограничение на количество получаемых элементов, но может прийти больше
  • stop_fn (func) – функция, отвечающая за выход из цикла
  • negative_offset (bool) – True если offset должен быть отрицательный
get_all_slow(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]

Использовать только если нужно загрузить все объекты в память.

Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_slow_iter

Например если вы записываете объекты в БД, то нет смысла загружать все данные в память