import streamlit as st import requests from bs4 import BeautifulSoup from PIL import Image from io import BytesIO # Функция для получения HTML-кода страницы def get_html(url): response = requests.get(url) return response.text # Функция для парсинга страницы с помощью BeautifulSoup def parse_page(html): soup = BeautifulSoup(html, 'html.parser') return soup # Основная функция для отображения информации def main(): st.title('Информация с сайта Superetka') # URL для парсинга url = 'https://superetka.com/etka/wap.php' # Получаем HTML-код страницы html = get_html(url) # Парсим страницу soup = parse_page(html) # Ищем все заголовки headings = soup.find_all(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']) # Выводим заголовки и их содержимое for heading in headings: st.header(heading.text.strip()) # Если есть изображение, выводим его if heading.find_next('img'): img_url = heading.find_next('img')['src'] img_response = requests.get(img_url) img = Image.open(BytesIO(img_response.content)) st.image(img, caption='Изображение') # Выводим текст под заголовком content = heading.find_next_sibling() if content: st.markdown(content.text.strip(), unsafe_allow_html=True) st.write('---') # Разделитель между блоками # Запускаем основную функцию if __name__ == '__main__': main()