Ответы пользователя по тегу ВКонтакте
  • Как скачать все картинки у списка пользователей Вконтакте через vk api?

    Потратил 15 минут своей жизни для тебя )))
    Пример приведен для python 2, с использованием библиотеки vk_api
    Код, естественно, без обработок ошибок и, вообще, в лоб.
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import os
    import sys
    import vk_api
    import urllib
    
    
    LOGIN = 'ТВОЙ ЛОГИН'
    PASSWORD = 'ТВОЙ ПАРОЛЬ'
    
    def main():
        # ======= Открываем сессию  с VK =======
        vk_session = vk_api.VkApi(LOGIN, PASSWORD)
        try:
            vk_session.auth()
        except vk_api.AuthError as error_msg:
            print(error_msg)
            return
    
        vk = vk_session.get_api()
        
        
        # ======= считываем список пользователей =======
        file_id = open(os.path.join(sys.path[0],'id_users.txt'), 'r')
        data_list = file_id.readlines()
        id_list = []
        for line in data_list:
            id_list.append(line.strip())
           
        # ======= начинаем перебирать каждого пользователя =======
        for id_user in id_list:
            
            # создаем директорию с именем пользователя, если нет
            newpath = os.path.join(sys.path[0], id_user)
            if not os.path.exists(newpath):
                os.makedirs(newpath)
            
            # посылаем запрос к VK API, count свой, но не более 200
            response = vk.photos.getAll(owner_id = int(id_user), count = 3)
            
            # работаем с каждой полученной фотографией
            for i in range(len(response["items"])):
                
                # берём ссылку на максимальный размер фотографии
                photo_url = str(response["items"][i]["sizes"][len(response["items"][i]["sizes"])-1]["url"])
                
                # скачиваем фото в папку с ID пользователя
                urllib.urlretrieve(photo_url, newpath + '/' + str(response["items"][i]['id']) + '.jpg')
            
    
    if __name__ == "__main__":
        main()

    Файл id_users.txt:
    1
    11
    1111
    Ответ написан
    2 комментария
  • Как сделать бота VK, который получает цифровой ID из ссылки и отправляет пользователю?

    1. Используешь, к примеру, библиотеку vk_api (Установка pip install vk_api).
    2. Импортируешь в программе: import vk_api
    3. Начинаем работать с API вконтакте:
    login, password = 'ВАШ_ЛОГИН', 'ВАШ_ПАРОЛЬ'
    vk_session = vk_api.VkApi(login, password)
    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return
    
    vk = vk_session.get_api()

    4. Отправляем запрос и выдираем из него ID (вставляй его на место этой строки id1 = vk.method("users.get")["id"]):
    id_user = vk.users.get(user_ids = id1)[0]['id']

    Надеюсь не сильно сумбурно )))
    Ответ написан
    Комментировать
  • Почему не могу авторизоваться в vk_api?

    login, password = 'ЛОГИН', 'ПАРОЛЬ'
    vk_session = vk_api.VkApi(login, password)
    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return
    
    vk = vk_session.get_api()
    Ответ написан
    Комментировать
  • Бот в вк\ обращение к вк.апи. Как сделать?

    Установи vk_api (pip install vk_api) и делай запрос
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import vk_api
    
    def main():
    
        login, password = 'LOGIN', 'PASSWORD'
        vk_session = vk_api.VkApi(login, password)
        try:
            vk_session.auth()
        except vk_api.AuthError as error_msg:
            print(error_msg)
            return
    
        vk = vk_session.get_api()
        response = vk.messages.removeChatUser(chat_id=ID_CHAT, user_id=ID_USER)
    Ответ написан
  • Как пользоваться attachments?

    Используя модуль vk_api (загрузка в группу):

    upload = vk_api.VkUpload(vk_session)
    foto = upload.photo('PATH/foto.jpg', album_id="id_альбома", group_id="id_группы")
    vk_photo_url = 'https://vk.com/photo{}_{}'.format(foto[0]['owner_id'], foto[0]['id'])
    photo.append(vk_photo_url.replace('https://vk.com/', ''))


    Получаешь фото в формате photo-123456_123456

    Ну примерно так
    Ответ написан
    Комментировать
  • Как узнать, что пост рекламный?

    @IvanMikhaylov Автор вопроса
    Короче, разобрался. Может кому пригодится.
    Нужно запись до репоста проверить методом wall.getById на значение параметра marked_as_ads. Если "1", то пропускаем.
    Удачи
    Ответ написан
    Комментировать