Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
FedkaOfficial
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 23
#1

Оцените клиент для ВКонтакте - Python

01.07.2016, 14:55. Просмотров 467. Ответов 4
Метки нет (Все метки)

Посмотрите, пожалуйста, на мой клиент. Хочу конструктивной критики.
Для работы нужен модуль vk
Работает, к сожалению, только на Windows, с Python 3.4+

http://www.cyberforum.ru/python/thread1618724.html
Запускать файл main.py

Имеющиеся проблемы:
  • Вместо сообщений, содержащих emoji, выводится просто надпись "emoji :)" (только в командной строке windows)
  • Программа падает при попытке вывести текст, содержащий emoji, в информации со страницы пользователя (только в командной строке windows)
  • Отсутствие адекватной авторизации
  • Долгий, по времени, вывод списка диалогов

Совершенно ясно, что для повседневного использования клиент очень кривой и неудобный. Создавался он без особой цели, а для саморазвития и чисто от безделья.
0
Вложения
Тип файла: rar VPC.rar (7.9 Кб, 20 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2016, 14:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Оцените клиент для ВКонтакте (Python):

Клиент для социальной сети
Проблема такая: есть небольшая социальная сеть. На ней своеобразная почта. Хочу...

клиент для ВКонтакте
Всем привет, ребят такой вопрос. средствами VKApi получаю список друзей в...

Клиент вконтакте
Здраствуйте. Нужно написать клиент для всем известной соц сети на си. Каким...

Клиент Вконтакте
Всем привет, ребят нужна помощь, пишу приложение для контакта, застыл на этапе,...

Клиент Вконтакте с секретом
Подскажите пожалуйста как сделать (или, еще лучше, сделайте) чтобы стандартный...

4
alex925
2660 / 2272 / 625
Регистрация: 19.03.2012
Сообщений: 8,821
01.07.2016, 15:04 #2
Мог бы и написать автоматическое получение токена, в действительности пользователь тебя сразу бы послал лесом при таком подходе.
0
FedkaOfficial
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 23
01.07.2016, 15:11  [ТС] #3
Цитата Сообщение от alex925 Посмотреть сообщение
Мог бы и написать автоматическое получение токена
Может намекнёте каким образом?
0
alex925
2660 / 2272 / 625
Регистрация: 19.03.2012
Сообщений: 8,821
01.07.2016, 15:21 #4
Лично я делал так: открывается браузер (но пользователю он не виден), поля логин и пароль автоматически заполняю и пытаюсь войти, если все успешно прошло, то я просто забираю токен и открываю уже основное окно приложения. В случае если требуется ввести капчу или логин с паролем не правильные, то уже показываю окно бразуера, чтобы пользователь ввел корректные данные, после того как авторизация осуществилась, так же автоматически вычленяю токен и открываю главное окно приложения.
Я использовал qwebview, потому что приложение на pyqt написано. Можно использовать selenium, requests и т д
0
Scriptozaur
2 / 2 / 4
Регистрация: 11.10.2015
Сообщений: 150
05.07.2016, 02:16 #5
FedkaOfficial, совсем через зад, но работать будет (надеюсь).

Client_id и Client_secret при желании свои поставишь, но те, которые я дал, работают
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import urllib.request as u
 
login = #тут логин пользователя (при необходимости, юзаешь urlencode)
password = #тут пароль пользователя (при необходимости, юзаешь urlencode)
data = u.urlopen("https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=" + login + "&password=" + password)
data_str = data.read().decode()
if data_str == '{"error":"invalid_client","error_description":"Username or password is incorrect"}':
    print("Логин или пароль введен неправильно")
else:
    if data_str[0] + data_str[1] + data_str[2] == '{"a':
        data_str = data_str.replace('{"access_token":"', '')
        token = str()
        p = False
        for i in data_str:
            if i != '"' and p == False:
                token += i
            else:
                p = True
        #переменная token содержит токен пользователя
    else:
        print("Неизвестная ошибка!")
Добавлено через 33 минуты
На самом деле работать так не будет, просто я не компилил. Но я попытался объяснить, как примерно можно сделать
0
05.07.2016, 02:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2016, 02:16
Привет! Вот еще темы с решениями:

Тощий клиент? для оснащения рабочих мест клиент-серверной БД Аксесс 2003
Форумчане,доброго времени суток! Прорабатываю вопрос о затратах для...

Api Вконтакте: загружать фотографии из Вконтакте в Flash проект.
Доброго времени суток. Необходимо загружать фотографии из Вконтакте в Flash...

CMS для группы Вконтакте
Всем привет! Я являюсь владельцем группы Вконтакте. Пользователи добавляют...

Бот для приложения вконтакте
Я хочу написать бота для приложения вконтакте . Схема такова с edit 1 и edit2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru