test / app.py
Starchik1's picture
Update app.py
1483245 verified
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()