Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from googlemaps import places
- import requests
- import json
- import time
- class GooglePlaces(object):
- def __init__(self, apiKey):
- API_KEY = "AIzaSyDT67KyLaX7PLiTji5iSLK2zCiw9CszLag"
- super(GooglePlaces, self).__init__()
- self.apiKey = apiKey
- def get_stores_by_string(self, location, radius, types):
- stores = []
- endpoint_url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?&key={}".format(API_KEY)
- params = {
- 'location': location,
- 'radius': radius,
- 'types': types,
- 'key': self.apiKey
- }
- res = requests.get(endpoint_url, params = params)
- results = json.loads(res.content)
- places.extend(results['results'])
- time.sleep(2)
- while "next_page_token" in results:
- params['pagetoken'] = results['next_page_token'],
- res = requests.get(endpoint_url, params = params)
- results = json.loads(res.content)
- # results = res.json()
- # with open('results.json', 'w') as f:
- # json.dump(results, f)
- places.extend(results['results'])
- time.sleep(2)
- print(len(places))
- return places
- def get_store_details(self, place_id, fields):
- endpoint_url = "https://maps.googleapis.com/maps/api/place/details/json?"
- params = {
- 'placeid': place_id,
- 'fields': ",".join(fields),
- 'key': self.apiKey
- }
- res = requests.get(endpoint_url, params = params)
- place_details = json.loads(res.content)
- return place_details
- def main():
- api = GooglePlaces("AIzaSyDT67KyLaX7PLiTji5iSLK2zCiw9CszLag")
- places = api.get_stores_by_string("32.795297,-96.763218", "1000", "store")
- fields = ['name', 'formatted_address', 'international_phone_number', 'website', 'rating', 'type']
- for place in places:
- details = api.get_store_details(place['place_id'], fields)
- try:
- website = details['result']['website']
- except KeyError:
- website = ""
- try:
- name = details['result']['name']
- except KeyError:
- name = ""
- try:
- address = details['result']['formatted_address']
- except KeyError:
- address = ""
- try:
- phone_number = details['result']['international_phone_number']
- except KeyError:
- phone_number = ""
- try:
- type_place = details['result']['types']
- except KeyError:
- type_place = ""
- print("--------------------STORE--------------------")
- print("Name:", name)
- print("Website:", website)
- print("Address:", address)
- print("Phone Number:", phone_number)
- print("Type:", type_place)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement