File size: 1,778 Bytes
6831e75
1027291
7a3c934
1483245
 
 
 
 
 
 
 
 
ad528f3
1483245
 
 
 
dd42636
1483245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ad528f3
1483245
 
 
 
 
 
dd42636
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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()