HomeHarvest/homeharvest/core/scrapers/realtor/__init__.py

43 lines
1.5 KiB
Python
Raw Normal View History

2023-09-15 20:58:54 -07:00
import json
2023-09-16 10:11:39 -07:00
from ..types import Property, Address
2023-09-15 20:58:54 -07:00
from .. import Scraper
from typing import Any
class RealtorScraper(Scraper):
def __init__(self, scraper_input):
super().__init__(scraper_input)
def handle_location(self):
headers = {
'authority': 'parser-external.geo.moveaws.com',
'accept': '*/*',
'accept-language': 'en-US,en;q=0.9',
'origin': 'https://www.realtor.com',
'referer': 'https://www.realtor.com/',
'sec-ch-ua': '"Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'cross-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
}
params = {
'input': self.location,
'client_id': 'for-sale',
'limit': '1',
'area_types': 'city,state,county,postal_code,address,street,neighborhood,school,school_district,university,park',
}
response = self.session.get('https://parser-external.geo.moveaws.com/suggest', params=params, headers=headers)
response_json = response.json()
return response_json['autocomplete'][0]
def search(self):
location_info = self.handle_location()
location_type = location_info['area_type']
print('a')