def parse_website(): site = 'https://ftime.by/kursy-valyut/minsk' hdr = {'User-Agent': 'Mozilla/5.0'} req = Request(site, headers=hdr) page = urlopen(req) soup = BeautifulSoup(page, "html.parser") for d in soup.find_all('tbody'): for c in d.find_all('tr'): try: bank = c.find('a').string bank_buys = c.find('div', 'field-kurs-pokupka-usd').string[5:9] bank_selling = c.find('div', 'field-kurs-sale-usd').string[5:9] except Exception as e: print('***ERROR parser.py - ', e) continue Bank.create(name=bank, buy=bank_buys, sells=bank_selling)
def run(self, username, password, bank_name, token): try: bank_token = BankToken.get(token=token) except BankToken.DoesNotExist: raise Exception("token is not valid") if Bank.filter(bank_token=bank_token).exists(): raise Exception("token is consumed, use a new one!") try: manager = User.create_user(username, password) except IntegrityError as e: raise Exception("username is duplicate, please choose another") try: Bank.create(manager=manager, bank_name=bank_name, bank_token=bank_token) print("Welcome to virtual bank world ;)") except Exception as e: print(e) raise Exception('Some problem happened in creating bank')