0
0 комментариев

Всем доброго времени суток. У меня проблема.

Написал скрипт, который парсит сайт реестр УДЦР. Проверяет кол-во страниц, и сравнивает с числом страниц которое записано в файле. Если количество страниц изменилось, присылает в телу уведомления — «Реестр обновленно» и записывает в файл новое кол-во страниц. Скрипт запускается каждые 10 минут.

Но есть кое-что что я не могу исправить. Когда УДЦР начинает процесс обновления он удаляет старую базу и загружает новую полностью. То есть сначала обновления есть например 100 страниц через 1 минут 1000 страниц и т.д. За это время скрипт запускается видит разницу в кол-ве страниц и присылает уведомления, через 10 минут повторно запускается и опять присылает уведомления потому что видит разницу.

Подскажите способ как сделать что бы присылалось одно уведомления, когда процесс обновления уже завершен?

#!/usr/bin/python3
import requests
import json
import telebot
from bs4 import BeautifulSoup

BASE_URL = 'https://www.ucrf.gov.ua/ua/services/centralized-registries'
bot = telebot.TeleBot('986188148:AAEYGL6T-sihM7SOiNum9Vv5jJBQFJ50BnQ')

def get_html(BASE_URL):
    response = requests.get(BASE_URL, verify=False)
    if response.status_code == 200:
        soup = BeautifulSoup(response.content, 'html.parser')
        page = soup.find('ul', class_='pagination' )
        end_page = list(page)
        page_number = end_page[23].text
        EndPageHref = ('https://www.ucrf.gov.ua/ua/services/centralized-registries?page='+page_number)
        print(EndPageHref)
        read_page_txt = open('page.txt', "r")
        page_txt = json.load(read_page_txt)
    else:
        print('Ошибка')
    if page_txt != page_number:
       #bot.send_message(-1001168783131,'*Реєстр УДЦР оновленно*\n' '\nПерейти до перегляду: ' + str(EndPageHref), parse_mode="Markdown")
        print('Сайт УДЦР обновленно')
        fullpage = open('page.txt', "w")
        json.dump(page_number, fullpage)
    else:
      # #bot.send_message(-1001168783131, 'Обновлений нету')
        print('Обновлений нету')

if __name__ == '__main__':
    get_html(BASE_URL)
Решенный вопрос
Добавить комментарий