- redfin bug fix

- .get
redfin v0.2.12
Zachary Hampton 2023-09-21 11:27:12 -07:00
parent 9120cc9bfe
commit 05713c76b0
3 changed files with 11 additions and 11 deletions

View File

@ -93,7 +93,7 @@ class RedfinScraper(Scraper):
year_built=get_value("yearBuilt") if not single_search else home["yearBuilt"], year_built=get_value("yearBuilt") if not single_search else home["yearBuilt"],
lot_area_value=lot_size, lot_area_value=lot_size,
property_type=PropertyType.from_int_code(home.get("propertyType")), property_type=PropertyType.from_int_code(home.get("propertyType")),
price_per_sqft=get_value("pricePerSqFt"), price_per_sqft=get_value("pricePerSqFt") if type(home.get("pricePerSqFt")) != int else home.get("pricePerSqFt"),
mls_id=get_value("mlsId"), mls_id=get_value("mlsId"),
latitude=home["latLong"]["latitude"] if "latLong" in home and "latitude" in home["latLong"] else None, latitude=home["latLong"]["latitude"] if "latLong" in home and "latitude" in home["latLong"] else None,
longitude=home["latLong"]["longitude"] if "latLong" in home and "longitude" in home["latLong"] else None, longitude=home["latLong"]["longitude"] if "latLong" in home and "longitude" in home["latLong"] else None,
@ -183,7 +183,7 @@ class RedfinScraper(Scraper):
), ),
property_url="https://www.redfin.com{}".format(building["url"]), property_url="https://www.redfin.com{}".format(building["url"]),
listing_type=self.listing_type, listing_type=self.listing_type,
unit_count=building["numUnitsForSale"], unit_count=building.get("numUnitsForSale"),
) )
def handle_address(self, home_id: str): def handle_address(self, home_id: str):

View File

@ -147,18 +147,18 @@ class ZillowScraper(Scraper):
if "hdpData" in result: if "hdpData" in result:
home_info = result["hdpData"]["homeInfo"] home_info = result["hdpData"]["homeInfo"]
address_data = { address_data = {
"address_one": parse_address_one(home_info["streetAddress"])[0], "address_one": parse_address_one(home_info.get("streetAddress"))[0],
"address_two": parse_address_two(home_info["unit"]) if "unit" in home_info else "#", "address_two": parse_address_two(home_info["unit"]) if "unit" in home_info else "#",
"city": home_info["city"], "city": home_info.get("city"),
"state": home_info["state"], "state": home_info.get("state"),
"zip_code": home_info["zipcode"], "zip_code": home_info.get("zipcode"),
} }
property_obj = Property( property_obj = Property(
site_name=self.site_name, site_name=self.site_name,
address=Address(**address_data), address=Address(**address_data),
property_url=f"https://www.zillow.com{result['detailUrl']}", property_url=f"https://www.zillow.com{result['detailUrl']}",
tax_assessed_value=int(home_info["taxAssessedValue"]) if "taxAssessedValue" in home_info else None, tax_assessed_value=int(home_info["taxAssessedValue"]) if "taxAssessedValue" in home_info else None,
property_type=PropertyType(home_info["homeType"]), property_type=PropertyType(home_info.get("homeType")),
listing_type=ListingType( listing_type=ListingType(
home_info["statusType"] if "statusType" in home_info else self.listing_type home_info["statusType"] if "statusType" in home_info else self.listing_type
), ),
@ -203,9 +203,9 @@ class ZillowScraper(Scraper):
baths_min=result.get("minBaths"), baths_min=result.get("minBaths"),
area_min=result.get("minArea"), area_min=result.get("minArea"),
bldg_name=result.get("communityName"), bldg_name=result.get("communityName"),
status_text=result["statusText"], status_text=result.get("statusText"),
price_min=price_value if "+/mo" in result["price"] else None, price_min=price_value if "+/mo" in result.get("price") else None,
price_max=price_value if "+/mo" in result["price"] else None, price_max=price_value if "+/mo" in result.get("price") else None,
latitude=result.get("latLong", {}).get("latitude"), latitude=result.get("latLong", {}).get("latitude"),
longitude=result.get("latLong", {}).get("longitude"), longitude=result.get("latLong", {}).get("longitude"),
unit_count=result.get("unitCount"), unit_count=result.get("unitCount"),

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "homeharvest" name = "homeharvest"
version = "0.2.11" version = "0.2.12"
description = "Real estate scraping library supporting Zillow, Realtor.com & Redfin." description = "Real estate scraping library supporting Zillow, Realtor.com & Redfin."
authors = ["Zachary Hampton <zachary@zacharysproducts.com>", "Cullen Watson <cullen@cullen.ai>"] authors = ["Zachary Hampton <zachary@zacharysproducts.com>", "Cullen Watson <cullen@cullen.ai>"]
homepage = "https://github.com/ZacharyHampton/HomeHarvest" homepage = "https://github.com/ZacharyHampton/HomeHarvest"