└── test1 /test1: -------------------------------------------------------------------------------- 1 | pip install requests beautifulsoup4 schedule 2 | import requests 3 | from bs4 import BeautifulSoup 4 | import schedule 5 | import time 6 | from datetime import datetime, timedelta 7 | 8 | NOTION_URL = 'https://www.notion.so/coin-side/2a567dd80c444955b811163b62b17443?v=abb2351246124c8e9f9b0e0b66c0135e&pvs=4' 9 | 10 | def get_cards_from_yesterday(): 11 | response = requests.get(NOTION_URL) 12 | response.raise_for_status() 13 | 14 | soup = BeautifulSoup(response.content, 'html.parser') 15 | 16 | # Здесь нужно проанализировать структуру HTML и выбрать правильные теги и классы для извлечения данных 17 | # Это примерный код, поскольку я не знаю структуру страницы Notion 18 | cards = soup.find_all('div', class_='notion-collection-card') 19 | 20 | yesterday = datetime.now() - timedelta(days=1) 21 | yesterday_str = yesterday.strftime('%Y-%m-%d') 22 | yesterday_cards = [] 23 | 24 | for card in cards: 25 | # Предполагаем, что дата находится в элементе с классом 'date-class', измените по необходимости 26 | date_element = card.find('div', class_='date-class') 27 | if date_element and yesterday_str in date_element.text: 28 | yesterday_cards.append(card.text.strip()) 29 | 30 | return yesterday_cards 31 | 32 | def job(): 33 | cards = get_cards_from_yesterday() 34 | if cards: 35 | print(f"Cards from yesterday ({(datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d')}):") 36 | for card in cards: 37 | print(card) 38 | else: 39 | print("No cards found for yesterday.") 40 | 41 | # Планируем выполнение задачи каждый день в 12:00 по московскому времени 42 | schedule.every().day.at("12:00").do(job) 43 | 44 | # Бесконечный цикл для выполнения задач по расписанию 45 | while True: 46 | schedule.run_pending() 47 | time.sleep(1) 48 | --------------------------------------------------------------------------------