Всем привет. Хочу написать телеграм бота, который будет уведомлять о появлении результатов ЕГЭ
Что требуется:
Есть сайт - http://uledu.ru на нем выкладываются результаты ЕГЭ для Ульяновской области, при выкладывании появляется новость на главной странице.
При появлении новой новости бот должен отправлять уведомление пользователю.
Как сказал мне выпускник, написавший такого же бота, но для результатов по СПб, требуется парсить сайт и при появлении новых новостей отправлять уведомление. Я до этого с парсингом и питоном(кроме простых программ) дел вообще не имел. Посмотрел пару уроков, написал вот такой вот код для парсинга:
Этот код получает вот такие вот данные (сделать все красиво мне не удалось), немного их сократил, так как сбщ получилось бы слишком длинное:
Спойлер
{'title': '\n\t\t\t\t\tРезультаты рассмотрения апелляций участников ЕГЭ по математике профильного уровня (06.06.2016)\t\t\t'}
{'title': '\n\t\t24.06.2016 07:40\t'}
{'title': '\nОпубликованы на сайте и высланы в муниципальные органы управления образованием результаты после рассмотрения апелляций участников ЕГЭ по математике профильного уровня (06.06.2016). С обновленными результатами апеллянты могут ознакомиться в разделе Результаты.'}
{'title': '\n\t\t\t\t\tРезультаты ЕГЭ по обществознанию от 08.06.2016\t\t\t'}
{'title': '\n\t\t21.06.2016 12:28\t'}
{'title': '\nНа сайте опубликованы результаты Единого государственного экзамена (ЕГЭ) по обществознанию от 08.06.2016. С персональными результатами участники экзамена могут ознакомиться в разделе Результаты.\nУстановленное Рособрнадзором минимальное количество баллов по стобалльной шкале по обществознанию - 42 балла.\nАпелляции на результаты ЕГЭ\xa0по обществознанию от 08.06.2016 принимаются 22 и 23 июня с 9-00 до 16-00 в ОГАУ "Центр обработки информации и мониторинга в образовании" по адресу: г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт), по факсу (8422) 27-78-01 и по электронной почте \n \n <!--\n var prefix = \'mailto:\';\n var suffix = \'\';\n var attribs = \'\';\n var path = \'hr\' + \'ef\' + \'=\';\n var addy69255 = \'admin\' + \'@\';\n addy69255 = addy69255 + \'uledu\' + \'.\' + \'ru\';\n document.write( \'<a \' + path + \'\\\'\' + prefix + addy69255 + suffix + \'\\\'\' + attribs + \'>\' );\n document.write( addy69255 );\n document.write( \'<\\/a>\' );\n //-->\n \n <!--\n document.write( \'<span style=\\\'display: none;\\\'>\' );\n //-->\n Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript\n \n <!--\n document.write( \'</\' );\n document.write( \'span>\' );\n //-->\n . Форма для подачи апелляции 1-АП: в формате pdf, в формате xls. Телефон (8422) 27-78-03.\nКонфликтная комиссия будет рассматривать апелляции по указанным предметам 24 июня в 14:00 по адресу г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт).\nКраткая статистика по Ульяновской области:\nОбществознание (ЕГЭ) (08.06.2016). Участников - 3745, из них 600 (16.02%) получили балл ниже установленного минимума (42). Средний балл - 53.87, минимальный балл - 3 (1 участник), максимальный - 98 (2 участника). В экзамене принимали участие учащиеся из 295 образовательных учреждений в 41 ППЭ.\n'}
{'title': '\n\t\t\t\t\tРезультаты рассмотрения апелляций участников ЕГЭ по русскому языку (30.05.2016), математике базового уровня (02.06.2016), и ГВЭ-11 по русскому языку (30.05.2016) \t\t\t'}
{'title': '\n\t\t21.06.2016 10:29\t'}
{'title': '\nОпубликованы на сайте и высланы в муниципальные органы управления образованием результаты после рассмотрения апелляций участников:\n- ЕГЭ по русскому языку (30.05.2016),\n- ГВЭ-11 по русскому языку (30.05.2016).\nСреди апелляций ЕГЭ по математике базового уровня (02.06.2016) удовлетворенных нет. Апелляция ЕГЭ по русскому языку Сизовой Е.А. отправлена на федеральную перепроверку, результат ее рассмотрения будет позже.'}
{'title': '\n\t\t\t\t\tРезультаты ЕГЭ по математике профильного уровня от 06.06.2016\t\t\t'}
{'title': '\n\t\t20.06.2016 12:24\t'}
{'title': '\nНа сайте опубликованы результаты Единого государственного экзамена (ЕГЭ) по\xa0математике профильного уровня от 06.06.2016. С персональными результатами участники экзамена могут ознакомиться в разделе Результаты.\nУстановленное Рособрнадзором минимальное количество баллов по стобалльной шкале, подтверждающее освоение образовательных программ среднего общего образования по математике профильного уровня - 27 баллов.\nАпелляции на результаты ЕГЭ\xa0по\xa0математике профильного уровня от 06.06.2016 принимаются 21 и 22 июня с 9-00 до 16-00 в ОГАУ "Центр обработки информации и мониторинга в образовании" по адресу: г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт), по факсу (8422) 27-78-01 и по электронной почте \n \n <!--\n var prefix = \'mailto:\';\n var suffix = \'\';\n var attribs = \'\';\n var path = \'hr\' + \'ef\' + \'=\';\n var addy64071 = \'admin\' + \'@\';\n addy64071 = addy64071 + \'uledu\' + \'.\' + \'ru\';\n document.write( \'<a \' + path + \'\\\'\' + prefix + addy64071 + suffix + \'\\\'\' + attribs + \'>\' );\n document.write( addy64071 );\n document.write( \'<\\/a>\' );\n //-->\n \n <!--\n document.write( \'<span style=\\\'display: none;\\\'>\' );\n //-->\n Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript\n \n <!--\n document.write( \'</\' );\n document.write( \'span>\' );\n //-->\n . Форма для подачи апелляции 1-АП: в формате pdf, в формате xls. Телефон (8422) 27-78-03.\nКонфликтная комиссия будет рассматривать апелляции по указанным предметам 23 июня в 14:00 по адресу г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт).\nКраткая статистика по Ульяновской области:\nМатематика профильная (ЕГЭ) (06.06.2016). Участников - 4032, из них 433 (10.74%) получили балл ниже установленного минимума (27). Средний балл - 47.39, минимальный балл - 0 (3 участника), максимальный - 100 (2 участника). В экзамене принимали участие учащиеся из 290 образовательных учреждений в 38 ППЭ.\n '}
{'title': '\n\t\tОбновлено 20.06.2016 12:34\t'}
{'title': '\n\t\t\t\t\tРезультаты ОГЭ и ГВЭ по русскому языку и математике от 17.06.2016\t\t\t'}
{'title': '\n\t\t18.06.2016 12:22\t'}
{'title': '\nОпубликованы на сайте и высланы в муниципальные управления образования результаты Основного государственного экзамена (ОГЭ) и Государственного выпускного экзамена (ГВЭ) по русскому языку и математике от 17.06.2016. С персональными результатами участники экзамена могут ознакомиться в разделе Результаты.\nАпелляция на результаты ОГЭ и ГВЭ по русскому языку и математике от 17.06.2016 принимаются 20 и 21 июня с 9-00 до 16-00 в ОГАУ "Центр информационных технологий" по адресу: г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт), по факсу (8422) 27-78-01 и по электронной почте \n \n <!--\n var prefix = \'mailto:\';\n var suffix = \'\';\n var attribs = \'\';\n var path = \'hr\' + \'ef\' + \'=\';\n var addy94035 = \'admin\' + \'@\';\n addy94035 = addy94035 + \'uledu\' + \'.\' + \'ru\';\n document.write( \'<a \' + path + \'\\\'\' + prefix + addy94035 + suffix + \'\\\'\' + attribs + \'>\' );\n document.write( addy94035 );\n document.write( \'<\\/a>\' );\n //-->\n \n <!--\n document.write( \'<span style=\\\'display: none;\\\'>\' );\n //-->\n Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript\n \n <!--\n document.write( \'</\' );\n document.write( \'span>\' );\n //-->\n . Форма для подачи апелляции 1-АП: в формате pdf, в формате xls. Телефон (8422) 27-78-03.\nКонфликтная комиссия будет рассматривать апелляции 22 июня с 14:00 по адресу г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт).'}
{'title': '\n\t\tОбновлено 18.06.2016 12:25\t'}
{'title': '\n\t\t\t\t\tРезультаты ОГЭ и ГВЭ от 15.06.2016\t\t\t'}
{'title': '\n\t\t18.06.2016 08:10\t'}
{'title': '\nОпубликованы на сайте и высланы в муниципальные управления образования результаты Основного государственного экзамена (ОГЭ) и Государственного выпускного экзамена (ГВЭ) по физике, химии, информатике, биологии, истории, географии, обществознанию, литературе от 15.06.2015. С персональными результатами участники экзамена могут ознакомиться в разделе Результаты.\nАпелляция на результаты ОГЭ и ГВЭ по по физике, химии, информатике, биологии, истории, географии, обществознанию, литературе от 15.06.2015 принимаются 20 и 21 июня с 9-00 до 16-00 в ОГАУ "Центр информационных технологий" по адресу: г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт), по факсу (8422) 27-78-01 и по электронной почте \n \n <!--\n var prefix = \'mailto:\';\n var suffix = \'\';\n var attribs = \'\';\n var path = \'hr\' + \'ef\' + \'=\';\n var addy67785 = \'admin\' + \'@\';\n addy67785 = addy67785 + \'uledu\' + \'.\' + \'ru\';\n document.write( \'<a \' + path + \'\\\'\' + prefix + addy67785 + suffix + \'\\\'\' + attribs + \'>\' );\n document.write( addy67785 );\n document.write( \'<\\/a>\' );\n //-->\n \n <!--\n document.write( \'<span style=\\\'display: none;\\\'>\' );\n //-->\n Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript\n \n <!--\n document.write( \'</\' );\n document.write( \'span>\' );\n //-->\n . Форма для подачи апелляции 1-АП: в формате pdf, в формате xls. Телефон (8422) 27-78-03.\nКонфликтная комиссия будет рассматривать апелляции 22 июня с 14:00 по адресу г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт).'}
{'title': '\n\t\tОбновлено 18.06.2016 12:25\t'}
{'title': '\n\t\t\t\t\tРезультаты ГВЭ-11 по математике от 02.06.2016\t\t\t'}
{'title': '\n\t\t16.06.2016 07:44\t'}
{'title': '\nНа сайте опубликованы результаты Государственного выпускного экзамена (ГВЭ) по математике от 02.06.2016. С персональными результатами участники экзамена могут ознакомиться в разделе Результаты.\nАпелляции на результаты ГВЭ-11 по математике от 02.06.2016 принимаются 16 и 17 июня с 9-00 до 16-00 в ОГАУ "Центр обработки информации и мониторинга в образовании" по адресу: г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт), по факсу (8422) 27-78-01 и по электронной почте \n \n <!--\n var prefix = \'mailto:\';\n var suffix = \'\';\n var attribs = \'\';\n var path = \'hr\' + \'ef\' + \'=\';\n var addy80646 = \'admin\' + \'@\';\n addy80646 = addy80646 + \'uledu\' + \'.\' + \'ru\';\n document.write( \'<a \' + path + \'\\\'\' + prefix + addy80646 + suffix + \'\\\'\' + attribs + \'>\' );\n document.write( addy80646 );\n document.write( \'<\\/a>\' );\n //-->\n \n <!--\n document.write( \'<span style=\\\'display: none;\\\'>\' );\n //-->\n Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript\n \n <!--\n document.write( \'</\' );\n document.write( \'span>\' );\n //-->\n . Форма для подачи апелляции 1-АП: в формате pdf, в формате xls. Телефон (8422) 27-78-03.\nКонфликтная комиссия будет рассматривать апелляции по указанным предметам 17 июня в 16:00 по адресу г. Ульяновск, ул. Розы Люксембург, 48 (при себе иметь паспорт).'}
{'title': '\n\t\t\t\t\tУдовлетворенные апелляции участников ОГЭ по математике (31.05.2016) и русскому языку (03.06.2016)\t\t\t'}
{'title': '\n\t\t15.06.2016 17:27\t'}
{'title': '\nОпубликованы на сайте и высланы в муниципальные управления образования результаты удовлетворенных апелляций участников ОГЭ по математике (31.05.2016) и русскому языку (03.06.2016).'}
Была идея записать эти данные в файл, а дальше парсить и полученные данные записывать в новый файл, и затем сравнивать его с оригиналом, но вот этот вот код не заработал, а считывать файл по строчкам и далее их сравнивать не очень хочется:
Собственно, что дальше с этими данными делать? Как работать с новыми новостями? Спасибо заранее за помощь.