Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код на Python

Denis Vasilyev Ученик (163), открыт 1 день назад
Я хочу сделать парсинг страницы https://kingim7.ru/#/4/raspisanie/zamena.php

в ней есть таблица с расписанием, первые строки говорят о времени выставления расписания, текст с красным фоном говорит о том, каких учителей нет, а остальные строки говорят о классе и расписании на класс выше указанного

мне нужен код, который при обновлении расписания просто выводил такие параметры как - каких учителей нет, время выставления расписания и расписании на класс
4 ответа
basturman Мыслитель (7829) 1 день назад
А мы тебе это как сделаем екарний бабай
Denis VasilyevУченик (163) 1 день назад
ну вдруг кодеры есть которые могут помочь
Linard Plukis Знаток (397) 1 день назад
 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)
ᅠ ᅠ Гуру (3657) 1 день назад
За бесплатно много хочешь.
Denis VasilyevУченик (163) 1 день назад
а кто сказал что за бесплатно
ᅠ ᅠ Гуру (3657) Denis Vasilyev, тогда не там ищешь. На фриланс иди.
Александр Лонберг Мыслитель (9064) 1 день назад
который при обновлении
О каком обновлении речь? Там страницы статичные, сайту 18 лет, а по виду как и Ленинграду.
Это только постоянные опросы сайта, скорее всего у него и API никакого нет - страница .php формируется налету прямо на сервере.

Такая задача потребует:
  • код запуска своего сервера для постоянного опроса
  • база-данных для сравнения с прошлым опросом и записи нового
  • web-интерфейс чтобы на это все можно было посмотреть

ЗЫ: И более чистая страница только с таблицей находится по адресу без решетки
https://kingim7.ru/4/raspisanie/zamena.php
Denis VasilyevУченик (163) 1 день назад
О каком обновлении речь?
там таблицы обновляются раз в день, каждый день новая таблица, уже были типы которые это делали все, только они уже года 2 как выпустились и контактов нет
Александр Лонберг Мыслитель (9064) Denis Vasilyev, Никто не спорит что данные обновляются. Но и "стартовый" вопрос, в таком случае, содержит не точность в описании:
который при обновлении
... это когда в режиме реального времени может быть отслежено обновление данных. Вот как этот комментарий, который появится не прибегая к перезагрузке страницы(в любой момент а не через сутки). А в твоем случае, нужен просто запрос, который запускается вручную(как я понял) раз в день, и парсер вытягивающий строки данных из таблицы. Что значит в вопросе "при обновлении" и с чем это обновление нужно сравнивать. А если вообще не было обновления по состоянию "на вчера"? А если нам надо "вчера", то и данные надо где-то хранить. А если не надо, то зачем это "ранее" и вообще какое-то обновление?! ?
Похожие вопросы