def __init__(self, filename): if not os.path.exists("user_pass.json"): pass else: user = Users().get_users() user_names = [ key for key, value in user.items()] [user1, user2] = re.findall(self.user_name_pattern, filename) user1 = user1[1:-1] user2 = user2[1:-1] tmp = re.sub(self.user_name_pattern, '', filename).split('_') if len(tmp) == 5: [kif_id, date, rate1, result, rate2] = tmp if user1 in user_names and result == "ox": result = "勝ち" elif user1 in user_names and result == "xo": result = "負け" elif user2 in user_names and result == "ox": result = "負け" elif user2 in user_names and result == "xo": result = "勝ち" else: result = "引き分け" [kif_id, date, rate1, rate2] = tmp user_name = user1 if user1 in user_names: rate = rate1 sengo = "先手" else: user_name = user2 rate = rate2 sengo = "後手" self.extract_info = [sengo, result, user_name, rate, filename, kif_id]
def get_kif(): login_url = "http://web.shogidojo.net/kifu/srv/login" kifs_url = "http://web.shogidojo.net/kifu/srv/search" if not os.path.exists("user_pass.json"): pass else: users = Users().get_users() for user, password in users.items(): response = requests.post(login_url, data={ 'name': user, 'pwd': password }) cook = response.cookies kif_file_list = requests.post(kifs_url, cookies=cook.get_dict(), data={ 'from_date': '2000-1-1', "to_date": "2030-1-1", "sub": "a" }) response.text parser = KifParser() parser.feed(kif_file_list.text) parser.close() for kif_url, filename in parser.links: if not os.path.exists("static/kif"): os.mkdir("static/kif") f = open("./static/kif/" + filename + '.kif', 'w') kif_file = requests.post(kif_url, cookies=cook.get_dict()) f.write(kif_file.text) f.close()