import re
import pprint
import requests
import lxml.html
URL = 'http://www.asu.ru/timetable/students/32/2129436778/'
pp = pprint.PrettyPrinter(indent=4)
res = requests.get(URL)
root = lxml.html.fromstring(res.text)
table = list()
elems = root.xpath('.//tr[@class="schedule-date"]|.//tr[@class="schedule-time"]')
curr_date = ''
for el in elems:
if el.get('class') == 'schedule-date':
curr_date = el.xpath('.//span[1]')[0].text
if el.get('class') == 'schedule-time':
out = re.sub(' +', ' ', ''.join(el.itertext()))
out = re.sub('^\s+', '', out)
out = re.sub('\n+', '', out)
table.append({'date': curr_date, 'info': out})
pp.pprint(table)
[ { 'date': 'Понедельник',
'info': '4 13:20 - 14:50 лек. Физические методы исследования '
'проф. Смагин В.П. 500\xa0К дата изменения: 08.04.2019 '
'11:21 свободные аудитории '},
{ 'date': 'Понедельник',
'info': '2 09:40 - 11:10 а) лаб. Новые информационные '
'технологии преп. Кушнир Е.Ю. 417\xa0К дата '
'изменения: 24.04.2019 11:16 свободные аудитории '},
{ 'date': 'Понедельник',
'info': '3 11:20 - 12:50 пр.з. Социология доц. Артюхина '
'В.А. 311а\xa0К дата изменения: 24.04.2019 11:13 '
'свободные аудитории '},
{ 'date': 'Вторник',
'info': '3 11:20 - 12:50 пр.з. Социология доц. Артюхина '
'В.А. 311а\xa0К дата изменения: 24.04.2019 11:13 '
'свободные аудитории '},
{ 'date': 'Вторник',
'info': '1 08:00 - 09:30 пр.з. Педагогика доц. Зацепина '
'О.В. 311а\xa0К дата изменения: 24.04.2019 11:11 '
'свободные аудитории '},
{ 'date': 'Вторник',
'info': '2 09:40 - 11:10 пр.з. Педагогика доц. Зацепина '
'О.В. 311а\xa0К дата изменения: 24.04.2019 11:07 '
'свободные аудитории '},
{ 'date': 'Вторник',
'info': '3 11:20 - 12:50 пр.з. Кристаллохимия доц. Стручева '
'Н.Е. 106а\xa0К дата изменения: 24.04.2019 11:06 '
'свободные аудитории '},
{ 'date': 'Среда',
'info': '3 11:20 - 12:50 пр.з. Кристаллохимия доц. Стручева '
'Н.Е. 106а\xa0К дата изменения: 24.04.2019 11:06 '
'свободные аудитории '},
{ 'date': 'Среда',
'info': '3 11:20 - 12:50 а) лаб. Новые информационные '
'технологии преп. Кушнир Е.Ю. 419\xa0К дата '
'изменения: 08.04.2019 11:21 свободные аудитории '},
{ 'date': 'Среда',
'info': 'б) лаб. Новые информационные технологии доц. Геньш К.В. '
'417\xa0К дата изменения: 08.04.2019 11:21 свободные '
'аудитории '},
{ 'date': 'Среда',
'info': '4 13:20 - 14:50 б) лаб. Новые информационные '
'технологии доц. Геньш К.В. 417\xa0К дата '
'изменения: 24.04.2019 11:18 свободные аудитории '},
{ 'date': 'Четверг',
'info': '4 13:20 - 14:50 б) лаб. Новые информационные '
'технологии доц. Геньш К.В. 417\xa0К дата '
'изменения: 24.04.2019 11:18 свободные аудитории '},
{ 'date': 'Четверг',
'info': '2 09:40 - 11:10 а) пр.з. Аналитическая химия доц. '
'Лейтес Е.А. 500\xa0К дата изменения: 29.04.2019 '
'10:56 свободные аудитории '},
{ 'date': 'Четверг',
'info': '3 11:20 - 12:50 пр.з. Физические методы исследования '
'проф. Смагин В.П. 521\xa0К дата изменения: 24.04.2019 '
'11:15 свободные аудитории '},
{ 'date': 'Четверг',
'info': '4 13:20 - 14:50 б) пр.з. Аналитическая химия проф. '
'Смагин В.П. 508\xa0К дата изменения: 29.04.2019 '
'10:55 свободные аудитории '},
{ 'date': 'Пятница',
'info': '4 13:20 - 14:50 б) пр.з. Аналитическая химия проф. '
'Смагин В.П. 508\xa0К дата изменения: 29.04.2019 '
'10:55 свободные аудитории '},
{ 'date': 'Пятница',
'info': '1 08:00 - 09:30 а) лаб. Аналитическая химия доц. '
'Лейтес Е.А. 509\xa0К дата изменения: 29.04.2019 '
'10:55 свободные аудитории '},
{ 'date': 'Пятница',
'info': 'б) лаб. Аналитическая химия проф. Смагин В.П. 508\xa0'
'К дата изменения: 29.04.2019 10:55 свободные '
'аудитории '},
{ 'date': 'Пятница',
'info': '2 09:40 - 11:10 а) лаб. Аналитическая химия доц. '
'Лейтес Е.А. 509\xa0К дата изменения: 29.04.2019 '
'10:54 свободные аудитории '},
{ 'date': 'Пятница',
'info': 'б) лаб. Аналитическая химия проф. Смагин В.П. 508\xa0'
'К дата изменения: 29.04.2019 10:53 свободные '
'аудитории '},
{ 'date': 'Пятница',
'info': '3 11:20 - 12:50 а) лаб. Аналитическая химия доц. '
'Лейтес Е.А. 509\xa0К дата изменения: 29.04.2019 '
'10:53 свободные аудитории '},
{ 'date': 'Пятница',
'info': 'б) лаб. Аналитическая химия проф. Смагин В.П. 508\xa0'
'К дата изменения: 29.04.2019 10:52 свободные '
'аудитории '},
{ 'date': 'Пятница',
'info': '4 13:20 - 14:50 лек. Физические методы исследования '
'проф. Смагин В.П. 500\xa0К дата изменения: 08.04.2019 '
'11:21 свободные аудитории '}]