Advertisement
Guest User

aa

a guest
May 27th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import xlrd
  4.  
  5.  
  6.  
  7. # Функция поиска ссылки на xls таблицы на сайте
  8. def findUrls():
  9. urls = []
  10. page = requests.get("https://www.mirea.ru/education/schedule-main/schedule/")
  11. soup = BeautifulSoup(page.text, "html.parser")
  12. result = soup.find("div", id = "toggle-3").findAll("a", {"class": "xls"})
  13. for item in result:
  14. urls.append(item.attrs["href"])
  15. return urls
  16.  
  17. # Функция создания словаря, где ключ - группа, значение - предметы
  18. def createDictOfSubjs(cs):
  19. urls = findUrls()
  20. course1 = requests.get(urls[cs])
  21. book = xlrd.open_workbook(file_contents = course1.content)
  22. sheet = book.sheet_by_index(0)
  23. groupsSubjs = dict()
  24. oddSubjs = []
  25. evenSubjs = []
  26. for col_index in range(sheet.ncols):
  27. oddSubjs = []
  28. evenSubjs = []
  29. if (type(sheet.cell(1, col_index).value) == str and sheet.cell(1, col_index).value != "" ):
  30. if (sheet.cell(1,col_index).value[0] == "И"):
  31. for row_index in range(3,75):
  32. if (row_index % 2 == 0):
  33. evenSubjs.append([sheet.cell(row_index,col_index).value, sheet.cell(row_index,col_index+1).value, sheet.cell(row_index,col_index+2).value, sheet.cell(row_index,col_index+3).value])
  34. else:
  35. oddSubjs.append([sheet.cell(row_index,col_index).value, sheet.cell(row_index,col_index+1).value, sheet.cell(row_index,col_index+2).value, sheet.cell(row_index,col_index+3).value])
  36. groupsSubjs[sheet.cell(1,col_index).value] = []
  37. groupsSubjs[sheet.cell(1,col_index).value].append(evenSubjs)
  38. groupsSubjs[sheet.cell(1,col_index).value].append(oddSubjs)
  39. return groupsSubjs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement