diff --git a/homeharvest/core/scrapers/realtor/__init__.py b/homeharvest/core/scrapers/realtor/__init__.py index 71193e8..a6f90c5 100644 --- a/homeharvest/core/scrapers/realtor/__init__.py +++ b/homeharvest/core/scrapers/realtor/__init__.py @@ -17,6 +17,7 @@ from typing import Dict, Union from tenacity import ( retry, retry_if_exception_type, + retry_if_not_exception_type, wait_exponential, stop_after_attempt, ) @@ -1110,7 +1111,7 @@ class RealtorScraper(Scraper): @retry( - retry=retry_if_exception_type((JSONDecodeError, Exception)), + retry=retry_if_exception_type((JSONDecodeError, Exception)) & retry_if_not_exception_type(AuthenticationError), wait=wait_exponential(multiplier=1, min=1, max=10), stop=stop_after_attempt(3), ) @@ -1125,16 +1126,16 @@ class RealtorScraper(Scraper): property_ids = list(set(property_ids)) fragments = "\n".join( - f'home_{property_id}: home(property_id: {property_id}) {{ ...HomeDetailsFragment }}' + f'home_{property_id}: home(property_id: {property_id}) {{ ...SearchFragment }}' for property_id in property_ids ) query = f"""{HOME_FRAGMENT} -query GetHomeDetails {{ +query GetHome {{ {fragments} }}""" - data = self._graphql_post(query, {}, "GetHomeDetails") + data = self._graphql_post(query, {}, "GetHome") if "data" not in data or data["data"] is None: # If we got a 400 error with "Required parameter is missing", raise to trigger retry diff --git a/homeharvest/core/scrapers/realtor/queries.py b/homeharvest/core/scrapers/realtor/queries.py index 7e6b604..31496e8 100644 --- a/homeharvest/core/scrapers/realtor/queries.py +++ b/homeharvest/core/scrapers/realtor/queries.py @@ -371,7 +371,7 @@ _SEARCH_HOMES_DATA_BASE = """{ HOME_FRAGMENT = """ -fragment HomeDetailsFragment on Home { +fragment SearchFragment on Home { __typename pending_date listing_id diff --git a/pyproject.toml b/pyproject.toml index e5d35f3..518afcb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "homeharvest" -version = "0.8.13" +version = "0.8.14" description = "Real estate scraping library" authors = ["Zachary Hampton ", "Cullen Watson "] homepage = "https://github.com/ZacharyHampton/HomeHarvest"