Skip to main content

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

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page