Spaces:
Runtime error
Runtime error
| import requests | |
| from bs4 import BeautifulSoup | |
| import pandas as pd | |
| import numpy as np | |
| def get_item_description(item_url): | |
| response = requests.get(item_url) | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| iframe = soup.find(id='desc_ifr') | |
| if iframe: | |
| iframe_src = iframe['src'] | |
| iframe_response = requests.get(iframe_src) | |
| iframe_soup = BeautifulSoup(iframe_response.text, 'html.parser') | |
| return iframe_soup.get_text(strip=True) | |
| else: | |
| return 'No Description' | |
| def search_ebay_sold_items(search_query): | |
| # Replace spaces in the search query with '+' | |
| query = search_query.replace(' ', '+') | |
| counter = 0 | |
| prices = [] | |
| img_urls = [] | |
| for pgn in range(2): | |
| if (counter == 100): | |
| break | |
| counter += 1 | |
| # eBay URL for sold listings | |
| url = f"https://www.ebay.com/sch/i.html?_nkw={query}&_sop=12&LH_Sold=1&LH_Complete=1&rt=nc&LH_ItemCondition=3000&_pgn={pgn}" | |
| # Send a request to the eBay URL | |
| response = requests.get(url) | |
| # Parse the response using BeautifulSoup | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| # Find listings - Adjust the selector as needed | |
| listings = soup.find_all('li', class_='s-item') | |
| # Extract and print details from each listing | |
| for item in listings[1:]: | |
| price = item.find('span', class_='s-item__price').text if item.find('span', class_='s-item__price') else 'No Price' | |
| img_div = item.find('div', class_='s-item__image-wrapper') | |
| img_url = img_div.find('img')['src'] if img_div and img_div.find('img') else 'No Image URL' | |
| try: | |
| prices.append(float(price.replace("$","").replace(",",''))) | |
| except: | |
| pass | |
| img_urls.append(img_url) | |
| prices = np.array(prices) | |
| stats = min(prices), np.percentile(prices, 25), np.percentile(prices, 50), np.percentile(prices, 75), max(prices) | |
| return stats | |