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

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