Функция beautifulsoup find_all () снова не получает те же значения - PullRequest
0 голосов
/ 28 мая 2020

Я делаю проект о планировщике лекций, но когда я пытаюсь отказаться от веб-сайта для данных, функция 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)

Итак, что мне делать, чтобы получить одинаковое значение для разных курсов?

...