Spaces:
No application file
No application file
from fastapi import FastAPI, HTTPException | |
import requests | |
from bs4 import BeautifulSoup | |
import pandas as pd | |
app = FastAPI() | |
def get_zillow_data(address): | |
headers = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} | |
search_query = requests.utils.quote(address) | |
url = f'https://www.zillow.com/homes/{search_query}_rb/' | |
response = requests.get(url, headers=headers) | |
soup = BeautifulSoup(response.content, 'html.parser') | |
square_footage = 'N/A' | |
# Adjust the selectors based on Zillow's HTML structure | |
sqft_element = soup.find('span', {'data-testid': 'bed-bath-item'}, text=lambda x: 'sqft' in x) | |
if sqft_element: | |
square_footage = sqft_element.text.split('sqft')[0].strip() | |
return square_footage | |
def read_zillow(address: str): | |
try: | |
sqft = get_zillow_data(address) | |
return {"address": address, "square_footage": sqft} | |
except Exception as e: | |
raise HTTPException(status_code=500, detail=str(e)) | |