我有一个网站,我想以文本形式显示时间表。我似乎能够处理发送请求,但我似乎无法获取时间表本身。告诉我怎样做才是正确的
import requests
from bs4 import BeautifulSoup
group_id = "93"
date_from = "02.10.2024"
date_to = "03.10.2024"
url = 'https://www.tolgas.ru/services/raspisanie/?id=0'
payload = {
'vr': group_id, # Идентификатор группы
'from': date_from, # Начальная дата
'to': date_to, # Конечная дата
'submit_button': 'Показать'
}
response = requests.post(url, data=payload)
soup = BeautifulSoup(response.text, 'html.parser')
使用此代码
soup.find_all('div', class_="div.timetable-frame__row:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2)")
print(soup.find_all)
但最终我显然得到了一个完整的网站,因为......显示大量文本,不仅是 div 标签,还包括所有其他标签

你几乎做对了所有事情。唯一的问题是您找不到该标签的类别,因此您无法找到日期。
假设您正在解析问题中的同一页面,则块类
<div>将为timetable-frame-current-date__text timetable-frame-current-date__text--2 text-lead.如果您想查找所有当前班级日期,请使用方法
find_all()。此方法将显示具有给定参数的所有标签。我们总共得到:
之后,通过列表理解我们得到:
以此类推,你可以找到班级和老师的名字,并通过字典等方式将它们漂亮地展示出来。