import streamlit as st import requests from bs4 import BeautifulSoup from io import BytesIO def get_auto_lot_info(query): url = "https://ru.autoauctionspot.com/salvage-cars-auction/" payload = { 'lot-type-available-to-bid': '1', 'search-term': query, } try: response = requests.post(url, data=payload) response.raise_for_status() soup = BeautifulSoup(response.content, 'html.parser') lot_title = soup.find('h1', class_='slider-name').text.strip() damage_info = soup.find('div', class_='char-line') damage_type_primary = damage_info.find('span', class_='char-info-envelope').text.strip() damage_type_secondary = damage_info.find_all('span', class_='char-info-envelope')[1].text.strip() lot_info = f"Лот: {lot_title}\nУщерб: {damage_type_primary}, {damage_type_secondary}\n" char_wrap = soup.find_all('div', class_='char-wrap') for char_box in char_wrap: char_lines = char_box.find_all('div', class_='char-line') for char_line in char_lines: char_name = char_line.find('span', class_='char-name').text.strip() char_info = char_line.find('span', class_='char-info').text.strip() lot_info += f"{char_name}: {char_info}\n" car_slider = soup.find('div', class_='car-slider') image_links = [figure.a['href'] for figure in car_slider.find_all('figure')] images = [] for link in image_links: image_response = requests.get(link) image_data = BytesIO(image_response.content) images.append(image_data) final_bid_info = soup.find('div', class_='copart-bid_final') final_bid_title = final_bid_info.find('span', class_='copart-bid-title').text.strip() final_bid_amount = final_bid_info.find('span', class_='copart-price').text.strip() final_bid_info = f"{final_bid_title}: {final_bid_amount}" return lot_info, images, final_bid_info except requests.RequestException as e: print(f"Ошибка при запросе {url}: {e}") return None, None, None except Exception as e: print(f"Необработанная ошибка в get_auto_lot_info: {e}") return None, None, None def main(): # Добавляем кликабельную надпись AlfaCross сверху st.markdown("[AlfaCross](https://t.me/alfacross_bot)") st.title("Auto Lot Info Web App") query = st.text_input("Введите запрос для поиска лота:") if st.button("Получить информацию о лоте"): lot_info, images, final_bid_info = get_auto_lot_info(query) if lot_info and images and final_bid_info: st.markdown(lot_info) for image in images: st.image(image) st.markdown(final_bid_info) else: st.markdown("Информация о лоте не найдена.") # Добавляем надпись Starchik снизу st.markdown("[Starchik](https://t.me/Starchik_1)") # Добавим обработку GET-запросов if "query" in st.query_params: query = st.query_params["query"] lot_info, images, final_bid_info = get_auto_lot_info(query) if lot_info and images and final_bid_info: st.markdown(lot_info) for image in images: st.image(image) st.markdown(final_bid_info) else: main()