Код на Python
Я хочу сделать парсинг страницы https://kingim7.ru/#/4/raspisanie/zamena.php
в ней есть таблица с расписанием, первые строки говорят о времени выставления расписания, текст с красным фоном говорит о том, каких учителей нет, а остальные строки говорят о классе и расписании на класс выше указанного
мне нужен код, который при обновлении расписания просто выводил такие параметры как - каких учителей нет, время выставления расписания и расписании на класс
который при обновлении
О каком обновлении речь? Там страницы статичные, сайту 18 лет, а по виду как и Ленинграду.
Это только постоянные опросы сайта, скорее всего у него и API никакого нет - страница .php формируется налету прямо на сервере.
Такая задача потребует:
код запуска своего сервера для постоянного опроса
база-данных для сравнения с прошлым опросом и записи нового
web-интерфейс чтобы на это все можно было посмотреть
ЗЫ: И более чистая страница только с таблицей находится по адресу без решетки
https://kingim7.ru/4/raspisanie/zamena.php
За бесплатно много хочешь.
import requests
from bs4 import BeautifulSoup
# URL страницы с расписанием
url = "https://kingim7.ru/#/4/raspisanie/zamena.php"
# Отправляем GET-запрос к странице
response = requests.get(url)
# Проверяем, успешен ли запрос
if response.status_code == 200:
# Создаем объект BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')
# Ищем время выставления расписания
time_section = soup.find('div', class_='td2')
if time_section:
time_text = time_section.get_text(strip=True)
print("Время выставления расписания:", time_text)
# Ищем информацию о недостающих учителях
missing_teachers = []
for row in soup.find_all('tr'):
if 'style="background-color:red"' in str(row):
missing_teachers.append(row.get_text(strip=True))
if missing_teachers:
print("Недостающие учителя:")
for teacher in missing_teachers:
print("-", teacher)
# Ищем расписание на класс
schedule = []
for row in soup.find_all('tr'):
if 'class' in str(row) and 'style' not in str(row): # Исключаем строки с недостающими учителями
schedule.append(row.get_text(strip=True))
if schedule:
print("Расписание на класс:")
for entry in schedule:
print("-", entry)
else:
print("Не удалось получить страницу. Статус код:", response.status_code)
А мы тебе это как сделаем екарний бабай