parent
9120cc9bfe
commit
05713c76b0
|
@ -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):
|
||||||
|
|
|
@ -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"),
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Loading…
Reference in New Issue