added county, fips, and text desciption fields

pull/71/head
Joe Crypto 2024-04-19 21:09:33 +00:00
parent 1f47fc3b7e
commit 833269b024
3 changed files with 23 additions and 1 deletions

View File

@ -67,6 +67,7 @@ class Description:
year_built: int | None = None
garage: float | None = None
stories: int | None = None
text: str | None = None
@dataclass
@ -89,3 +90,5 @@ class Property:
latitude: float | None = None
longitude: float | None = None
neighborhoods: Optional[str] = None
county: Optional[str] = None
fips_code: Optional[str] = None

View File

@ -171,6 +171,7 @@ class RealtorScraper(Scraper):
year_built=property_info["details"].get("year_built"),
garage=property_info["details"].get("garage"),
stories=property_info["details"].get("stories"),
text=property_info["description"].get("text"),
),
days_on_mls=days_on_mls
)
@ -324,6 +325,7 @@ class RealtorScraper(Scraper):
type
name
stories
text
}
source {
id
@ -347,10 +349,17 @@ class RealtorScraper(Scraper):
lat
}
}
county {
name
fips_code
}
neighborhoods {
name
}
}
tax_record {
public_record_id
}
primary_photo {
href
}
@ -535,7 +544,10 @@ class RealtorScraper(Scraper):
else None,
address=self._parse_address(result, search_type="general_search"),
description=self._parse_description(result),
days_on_mls=self.calculate_days_on_mls(result)
neighborhoods=self._parse_neighborhoods(result),
days_on_mls=self.calculate_days_on_mls(result),
county=result["location"]["county"].get("name"),
fips_code=result["location"]["county"].get("fips_code"),
)
properties.append(realty_property)
@ -694,6 +706,7 @@ class RealtorScraper(Scraper):
year_built=description_data.get("year_built"),
garage=description_data.get("garage"),
stories=description_data.get("stories"),
text=description_data.get("text"),
)
@staticmethod

View File

@ -8,6 +8,7 @@ ordered_properties = [
"mls",
"mls_id",
"status",
"text",
"style",
"street",
"unit",
@ -28,6 +29,9 @@ ordered_properties = [
"price_per_sqft",
"latitude",
"longitude",
"neighborhoods",
"county",
"fips_code",
"stories",
"hoa_fee",
"parking_garage",
@ -63,6 +67,8 @@ def process_result(result: Property) -> pd.DataFrame:
prop_data["year_built"] = description.year_built
prop_data["parking_garage"] = description.garage
prop_data["stories"] = description.stories
prop_data["text"] = description.text
properties_df = pd.DataFrame([prop_data])
properties_df = properties_df.reindex(columns=ordered_properties)