Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Realestate Data

Project description

Realestate Data

A tool to request real estate data from an unofficial realestate.com.au "API".

Installation

pip install realestate-data

Usage

Build out schematics to represent the search query you are after.

See here for available options, or take a look at ./realestate_data/schematics.py

The below creates a search object that represents

  • Units and apartments for sale
  • in Melbourne Victoria, 3000
  • and surrounding suburbs
  • price between $500,000 and $1,000,000
  • minimum of 1 parking space
  • minimum of 1 bathroom
  • minimum of 2 bedrooms
>>> from realestate_data import Search, Locality, PriceRange, Filters
>>>
>>> p = PriceRange()
>>> p.minimum = 500000
>>> p.maximum = 1000000
>>>
>>> l = Locality()
>>> l.locality = 'Melbourne'
>>> l.subdivision = Locality.SUBDIVISION_VIC
>>> l.postcode = '3000'
>>>
>>> f = Filters()
>>> f.property_types = [Filters.PROPERTY_TYPE_APARTMENT, Filters.PROPERTY_TYPE_UNIT]
>>> f.surrounding_suburbs = True
>>> f.minimum_bedrooms = 2
>>> f.minimum_bathrooms = 1
>>> f.minimum_parking_spaces = 1
>>> f.price_range = p
>>>
>>> s.channel = Search.CHANNEL_BUY
>>> s.localities = [l]
>>> s.filters = f

Call validate() on the search object to ensure its valid. It will return nothing if valid and an error if not

>>> s.validate()

Call to_primitive() to view the search object

>>> s.to_primitive()
{'channel': 'buy', 'localities': [{'locality': 'Melbourne', 'subdivision': 'VIC', 'postcode': '3000'}], 'filters': {'property-types': ['apartment', 'unit'], 'minimum-bedrooms': 1, 'minimum-bathrooms': 1, 'minimum-parking-spaces': 1, 'surrounding-suburbs': True, 'price-range': {'minimum': 500000, 'maximum': 1000000}}}

Pass the created Search object to the paged_results generator. The generator yields the json returned from each paged request.

>>> from realestate_data import paged_results
>>> paged_data = [page for page in paged_results(s)]

Or use the Generator how ever you want

>>> paged_data = paged_results(s)
>>> page_one = next(paged_data)
>>> page_two = next(paged_data)
>>> for page in paged_results(s):
>>>     print(page)

Todo

  • Testing

Author

Jeremy Storer storerjeremy@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for realestate-data, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size realestate-data-0.1.0.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page