def get_new_token(): storage = Shelver(config.database_file) method_name = 'auth.get_token' session = requests.Session() # Установим "правильный" юзер-агент session.headers = { 'User-agent': 'Mozilla/5.0 (Windows NT 6.1; rv:38.0)' 'Gecko/20100101 Firefox/38.0' } # Мойте куки перед едой! session.cookies.clear() response = session.get('https://vk.com/') # TODO: Может быть, добавить сюда ещё и ip_h? params = { 'act': 'login', 'utf-8': 1, 'email': config.username, 'pass': config.password, 'lg_h': search_re(RE_LOGIN_HASH, response.text), } response = session.post('https://login.vk.com/', params) if 'm=1' in response.url: raise BadPasswordException(method_name) data = {} if 'remixsid' in session.cookies: global remixsid remixsid = session.cookies['remixsid'] else: raise CookieErrorException(method_name) if remixsid: data['remixdid'] = remixsid # Обновляем куки session.cookies.update({'p': session.cookies['p']}) session.cookies.update({'l': session.cookies['l']}) session.cookies.update({'remixsid': remixsid}) values = { 'client_id': config.client_id, 'scope': config.permissions, 'response_type': 'token', } response = session.post('https://oauth.vk.com/authorize', values) print(response.url) token = response.url.split('#')[1].split('=')[1].split('&')[0] expire_time = response.url.split('&')[1].split('=')[1] try: exp_time = int(time()) + int(expire_time) storage.save('token', token) storage.save('expire_time', exp_time) print('New token acquired!') except Exception as e: print('API::Auth::Saving data to db got exception: ' + str(e))
#!/usr/bin/python3.4 # -*- coding: utf-8 -*- from shelver import Shelver import shelve import config storage = Shelver(config.database_file) print(config.categories) for entry in config.categories.split(','): storage.save(entry.strip(), []) storage.save(entry.strip() + config.users_db_postfix, []) list_categories = config.categories.split(',') list_entries = config.cat_entries.split('\n') if len(list_categories) != len(list_entries): print('Размерности массивов не совпадают! Проверьте списки.') else: for i in range(len(list_categories)): for j in range(len(list_entries[i].split(','))): print('Inserting {0} into {1}'.format( list_entries[i].split(',')[j], list_categories[i])) storage.append(list_categories[i], list_entries[i].split(',')[j].strip(), strict=True) print(len(storage.get('News')[1])) storage.save('expire_time', 0) storage.save('token', 0) storage.close()
#!/usr/bin/python3.4 # -*- coding: utf-8 -*- from shelver import Shelver import shelve import config storage = Shelver(config.database_file) print(config.categories) for entry in config.categories.split(","): storage.save(entry.strip(), []) storage.save(entry.strip() + config.users_db_postfix, []) list_categories = config.categories.split(",") list_entries = config.cat_entries.split("\n") if len(list_categories) != len(list_entries): print("Размерности массивов не совпадают! Проверьте списки.") else: for i in range(len(list_categories)): for j in range(len(list_entries[i].split(","))): print("Inserting {0} into {1}".format(list_entries[i].split(",")[j], list_categories[i])) storage.append(list_categories[i], list_entries[i].split(",")[j].strip(), strict=True) print(len(storage.get("News")[1])) storage.save("expire_time", 0) storage.save("token", 0) storage.close()