Работаем с VK API на Python

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by extjs, 31 Jul 2014.

  1. extjs

    extjs Member

    Joined:
    23 Jun 2013
    Messages:
    31
    Likes Received:
    6
    Reputations:
    0
    Мой проект на гитхабе . Лень все рассписывать, да и разбираться особо не в чем.

    Пример массовой загрузки фотографий в альбом.

    PHP:
    # -*- coding: u8 -*-
    from account import *
    from vklib import *

    vk VKClient(delay_time=.5)
    vk.login(usernamepassword)
    album_id 199678084
    open('grabbers/camwhores.txt')
    f.read().splitlines()
    f.close()
    L[::-1# перевернули
    vk.upload_photos(Lalbum_id)
    В файле grabbers/camwhores.txt ссылки на фотки. Можно загружать как с диска так по http.

    А это загруженные фотки в альбоме.
     
    #1 extjs, 31 Jul 2014
    Last edited: 22 Dec 2014
  2. extjs

    extjs Member

    Joined:
    23 Jun 2013
    Messages:
    31
    Likes Received:
    6
    Reputations:
    0
    Еще пример рассылка друзьям онлайн.

    PHP:
    # -*- coding: u8 -*-
    from account import *
    from vklib import *
    import utils
    import re

    message_tpl 
    u'{Доброе утро|Здоров|Прив{|ет}}, %first_name%. {Что делаешь|Почему не спишь|Как жизнь}?'

    vk VKClient(delay_time=.5)
    vk.login(usernamepassword)

    # не знаю сколько максимум может вернуть
    user_ids vk.api('friends.getOnline'order='rand')
    # тут тоже по идеи offset/count
    users vk.api('users.get'user_ids=utils.implode(','user_ids), fields='can_write_private_message')

    for 
    user in users:
        if 
    user['can_write_private_message']:
            
    msg utils.randtext(message_tpl)
            
    msg re.sub('%(.+?)%'lambda muserm.group(1) ] if m.group(1in user else ''msg#, flags=re.UNICODE)
            
    print vk.api('messages.send'message=msguser_id=user['id'])
     
  3. extjs

    extjs Member

    Joined:
    23 Jun 2013
    Messages:
    31
    Likes Received:
    6
    Reputations:
    0
    Непрошло и года как я переписал свой быдлокод. Приделал примитивный графический интерфейс(диалог авторизации и дмалог ввода капчи). Теперь к методам api можно обращаться как к методам VkClient:

    vk.users.get(user_id=1)
    vk.wall.post(message="Текст сообщения")

    и т.д.
     
    1 person likes this.