forked from james-see/python-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyzillow-example.py
More file actions
65 lines (51 loc) · 1.89 KB
/
pyzillow-example.py
File metadata and controls
65 lines (51 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
"""Example using pyzillow."""
"""You need a zillow api key: https://www.zillow.com/howto/api/APIOverview.htm"""
from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults, GetUpdatedPropertyDetails
import argparse
from pprint import pprint
# arguments
parser = argparse.ArgumentParser(description='zillow data example')
parser.add_argument('-a', '--address', help='address to search',
default='1943 N Upland St, Arlington, VA, 22207', required=False)
parser.add_argument('-v', '--verbose',
help='print more stuff', action='store_true')
parser.add_argument('-z', '--zipcode', help='zipcode', default=22207)
parser.add_argument('--apikey', help='zillow api key')
args = parser.parse_args()
# globals
address = args.address
zipcode = args.zipcode
# functions
def get_wrapper():
"""Set the API key properly."""
zillow_data = ZillowWrapper(args.apikey)
return zillow_data
def search_address(zillow_data):
"""Get results from address input and zipcode input."""
deep_search_response = zillow_data.get_deep_search_results(
address, zipcode)
result = GetDeepSearchResults(deep_search_response)
if args.verbose:
print(result)
return result
def get_details(zillow_id):
"""Get updated detailed property data."""
zillow_data = get_wrapper()
updated_property_details_response = zillow_data.get_updated_property_details(
zillow_id)
result = GetUpdatedPropertyDetails(updated_property_details_response)
if args.verbose:
print(result)
return result
def main():
"""Run the API calls to show the example data."""
zillow_data = get_wrapper()
result = search_address(zillow_data)
if args.verbose:
pprint(vars(result))
all_details = get_details(result.zillow_id)
if args.verbose:
pprint(vars(all_details))
if __name__ == "__main__":
main()
exit('success')