Я делаю проект о планировщике лекций, но когда я пытаюсь отказаться от веб-сайта для данных, функция find_all () снова не дает того же значения. Например, если класс «Профессор - это« x », я не вижу имени профессора на других лекциях.
from selenium import webdriver
from bs4 import BeautifulSoup
import os
def make_soup(link):
driver = webdriver.Chrome(os.getcwd()+'/chromedriver')
driver.get(link)
elem = driver.find_element_by_xpath("//*")
html = elem.get_attribute("outerHTML")
soup = BeautifulSoup(html,'html.parser')
return soup
def divide_chunks(l, n):
# looping till length l
for i in range(0, len(l), n):
yield l[i:i + n]
def get_classes(soup):
data = {}
whose = soup.find_all(class_="MsoNormal")
for item in range(len(whose)):
name=whose[item].text
data.setdefault(name,{})
data = list(data)
del data[0:6]
x = list(divide_chunks(data,6))
return x
def print_list(data):
print(data)
soup = make_soup("https://www.sehir.edu.tr/en/announcements/2019_2020_Akademik_Yili_Bahar_Donemi_Ders_Programi")
classes = get_classes(soup)
print_list(classes)
Итак, что мне делать, чтобы получить одинаковое значение для разных курсов?