Spaces:
Paused
Paused
| import streamlit as st | |
| import requests | |
| from bs4 import BeautifulSoup | |
| def search_game_results(game_name): | |
| search_url = f"https://gamingbeasts.com/?s={game_name}" | |
| response = requests.get(search_url) | |
| if response.status_code == 200: | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| game_entries = soup.find_all('div', class_='inside-article') | |
| if not game_entries: | |
| return None | |
| results = [] | |
| for entry in game_entries: | |
| title_elem = entry.find('h2', class_='entry-title').find('a') | |
| title = title_elem.text if title_elem else "Title not found" | |
| link = title_elem['href'] if title_elem else "Link not found" | |
| categories_elem = entry.find('span', class_='cat-links') | |
| categories = [category.text for category in categories_elem.find_all('a')] if categories_elem else [] | |
| results.append({ | |
| 'title': title, | |
| 'link': link, | |
| 'categories': categories | |
| }) | |
| return results | |
| else: | |
| return None | |
| def scrape_download_url(url): | |
| response = requests.get(url) | |
| if response.status_code == 200: | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| url_input_elem = soup.find('input', {'name': 'url'}) | |
| if url_input_elem: | |
| download_url = url_input_elem['value'] | |
| return download_url | |
| return None | |
| def get_download_urls(game_name): | |
| results = search_game_results(game_name) | |
| if isinstance(results, list): | |
| download_urls = [] | |
| for result in results: | |
| download_url = scrape_download_url(result['link']) | |
| if download_url: | |
| download_urls.append(download_url) | |
| return download_urls | |
| else: | |
| return None | |
| st.title("Game Download URL Finder") | |
| game_name = st.text_input("Enter the name of the game:") | |
| if game_name: | |
| download_urls = get_download_urls(game_name) | |
| if download_urls: | |
| st.subheader(f"Download URLs for '{game_name}':") | |
| for i, download_url in enumerate(download_urls, start=1): | |
| st.write(f"{i}. {download_url}") | |
| else: | |
| st.write("No download URLs found for this game.") | |