def getSchedule(self, group, typeP, entity): url = "https://www.tsuab.ru/schedule/api/timetable.php" schedule = [] querystring = {"q": group[1], "type": typeP, "dt": getNowWeek()[1], "df": getNowWeek()[0], "wid": "11", "text": group[0]} response = requests.request("GET", url, params=querystring) soup = BS(response.content, 'html.parser') lessons = soup.findAll('div', {'class': 'timetable-mobile__item'}) fio = None for lesson in lessons: timetableRow = lesson.findAll('div', {'class': 'timetable__row'}) if len(timetableRow) > 0: day = getNameOfTheDayOfTheWeek(lesson.find('div', {'class': 'timetable__day'}).get('data-date')) week = getNumberWeek(lesson.find('div', {'class': 'timetable__day'}).get('data-date')) numberLesson=0 for el in timetableRow: timeLesson = el.findAll('div', {'class': 'timetable-time__value'}) lessonBegin = timeLesson[0].text lessonEnd = timeLesson[1].text numberLesson = numberLesson+1 interval = Interval(numberLesson, lessonBegin, lessonEnd) subject = el.find('div', {'class': 'timetable-lesson__title'}).text.replace('\n', '').strip() if typeP == 'teacher': extra = None else: extra = el.find('div', {'class': 'timetable-lesson__lecturer'}).text.replace('\n', '').strip() if typeP == 'teacher': fio = el.find('div', {'class': 'timetable-lesson__lecturer'}).text.replace('\n', '').strip() auditory = el.find('div', {'class': 'timetable-lesson__lecture-room'}).text.replace('\n', '').strip() Type = getNameType( el.find('div', {'class': 'timetable-lesson__marker'}).get('class')[1].split('--')[1]) if len( el.find('div', {'class': 'timetable-lesson__marker'}).get('class')) > 1 else None lesson = Lesson(week, day, interval, subject, auditory, extra, Type) self.addLessonToSchedule(schedule, lesson) querystring = {"q": group[1], "type": typeP, "dt": getNextWeek()[1], "df": getNextWeek()[0], "wid": "11", "text": group[0]} response = requests.request("GET", url, params=querystring) soup = BS(response.content, 'html.parser') lessons = soup.findAll('div', {'class': 'timetable-mobile__item'}) for lesson in lessons: timetableRow = lesson.findAll('div', {'class': 'timetable__row'}) if len(timetableRow) > 0: day = getNameOfTheDayOfTheWeek(lesson.find('div', {'class': 'timetable__day'}).get('data-date')) week = getNumberWeek(lesson.find('div', {'class': 'timetable__day'}).get('data-date')) numberLesson = 0 for el in timetableRow: timeLesson = el.findAll('div', {'class': 'timetable-time__value'}) lessonBegin = timeLesson[0].text lessonEnd = timeLesson[1].text numberLesson = numberLesson+1 interval = Interval(numberLesson, lessonBegin, lessonEnd) subject = el.find('div', {'class': 'timetable-lesson__title'}).text.replace('\n', '').replace(' ', '').strip() if typeP == 'teacher': extra = None else: extra = el.find('div', {'class': 'timetable-lesson__lecturer'}).text.replace('\n', '').strip() if typeP == 'teacher': fio = el.find('div', {'class': 'timetable-lesson__lecturer'}).text.replace('\n', '').strip() auditory = el.find('div', {'class': 'timetable-lesson__lecture-room'}).text.replace('\n', '').strip() Type = getNameType( el.find('div', {'class': 'timetable-lesson__marker'}).get('class')[1].split('--')[1]) if len( el.find('div', {'class': 'timetable-lesson__marker'}).get('class')) > 1 else None lesson = Lesson(week, day, interval, subject, auditory, extra, Type) self.addLessonToSchedule(schedule, lesson) if typeP == 'teacher': if fio == None: return [] else: entity.name = fio.strip() return schedule else: return schedule