Возник ряд вопросов при первом контакте с VK API, решил задать, полагаю, что ни где кроме как здесь - мне не помогут
Вводные:
Задача:
Найти искомые товары в группах, определить их стоимость и выдать в виде
Инструмент разработки скрипта - Python, БД - sqlite3Наименование - Стоимость - Ссылка
Что делаю:
1. Поисковый запрос групп с наличием в названии слова 'Vape' - для этого используется запрос:
Код: Выделить всё
a = api.groups.search(q="vape", type="group", market="1", sort="0", count="1000", city_id=i, access_token="...")
Таким образом я собираю почти 3000 групп. Есть ли на этом этапе где-то ошибка?
2. Получив список групп, соответствующих критериям (q="vape", type="group", market="1"), начинаем искать товары.
Код: Выделить всё
a = api.market.search(owner_id="-"+str(idg), album_id="0", count="200", q=item, access_token="...")
Таким образом, если группа открыта (нет исключения vk.exceptions.VkAPIError (Access denied: no access to this group)), а также в ней есть искомый 'item', формирую запись в БД.
Есть ли на этом этапе где-то ошибка?
3. Тайминги использую 0.7 при запросе товара, 0.3 при поиске группы.
Таким образом, я получаю из 3000 групп около 200 закрытых и какую-то цифру групп, где найден искомый товар.
Вопрос №1.
Но если я перезапущу скрипт N-раз, я получу M-разных результатов. Почему!?
Далее, приняв, что, вероятно - данная структура сбора данных собирает все данные, доступные в итерации, я решил взять бОльшее и начать анализировать стены этих групп, т.к. товары не всегда наполняют и актуализируют. То есть поиск по упоминаниям на стенах. Использовал:
Код: Выделить всё
b = api.wall.search(owner_id="-"+str(i), query="Cartel", count="20", extended="1", access_token="...")
Но наткнулся на следующее:
Потому что начал ловить исключения по тайм-аутам.wall.search — 1000 вызовов в сутки;
Вопрос 2.
Верно ли я понимаю, что 1000 групп = 1000 стен = 1000 запросов? Если да - есть ли возможность избежать кроме как инструментами VK: https://vk.com/dev/data_limits (пункт 3)
Фокус с работой по стенам, которые открыты (группы), а также в "городах" и по прочим критериям, чтобы из 3000 оставить =< 1000 возможен, но в сутки может быть более 1 запроса на поиск бренда, что сразу превысит 1000 запросов в сутки.
Может есть еще варианты анализа стен открытых групп на наличии в них упоминаний искомой сущности?
Заранее спасибо за ответы и не ругайтесь, если не там разместился!