GoogleMapsPY aim to scrape data from Google Maps without Google API or Browser
Search and return Places | ✔ |
Get Place by name | ✔ |
Get Reviews | ✔ |
Get Images |
pip install git+https://www.github.com/3mora2/GoogleMapsPy@main
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
lang
is language like ( "ar", "en", ...)
country_code
from country_suffix_dict
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
keyword = "مطعم في الرياض"
for index, place in enumerate(maps.search(keyword)):
print(index, place)
by place_name
place_name
must be accurate
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
place_name = "مطعم الكتكوت للمشويات، مدينة الروضة، مركز فارسكور"
place = maps.get_place(place_name)
print(place)
or by google maps place url
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
url = "https://www.google.com/maps/place/%D9%85%D8%B7%D8%B9%D9%85+%D8%A7%D9%84%D8%B5%D8%A7%D9%81%D9%89+%D8%A7%D9%84%D9%85%D8%A3%D9%83%D9%88%D9%84%D8%A7%D8%AA+%D8%A7%D9%84%D8%A8%D8%AD%D8%B1%D9%8A%D8%A9%E2%80%AD/@31.3236418,31.7580646,17z/data=!4m17!1m10!3m9!1s0x14f9e7860c2edadf:0xe7ee7daab22713f!2z2YXYt9i52YUg2KfZhNmD2KrZg9mI2Kog2YTZhNmF2LTZiNmK2KfYqg!8m2!3d31.3279843!4d31.7535306!10e5!14m1!1BCgIgAQ!16s%2Fg%2F11rn4ndyt8!3m5!1s0x14f9e72c1e2e1beb:0x656909fce8b20df!8m2!3d31.3237011!4d31.7580212!16s%2Fg%2F11hzjy_4bd?entry=ttu"
place = maps.get_place(url=url)
print(place)
by ids
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
place_name = "مطعم الكتكوت للمشويات، مدينة الروضة، مركز فارسكور"
place = maps.get_place(place_name)
print(place)
ids = place.review_ids # ["1511502518116541527", "2022987617800227988"]
for i, review in enumerate(maps.get_reviews(ids=ids)):
print(i, review)
or by google maps place url
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
url = "https://www.google.com/maps/place/%D9%86%D8%A7%D8%AF%D9%8A+%D8%A7%D9%84%D9%85%D9%87%D9%86%D8%AF%D8%B3%D9%8A%D9%86+%D8%AF%D9%85%D9%8A%D8%A7%D8%B7+%D8%A7%D9%84%D8%AC%D8%AF%D9%8A%D8%AF%D8%A9%E2%80%AD/@31.4438138,31.7206443,14.44z/data=!4m6!3m5!1s0x14f9e3054ae0727f:0xde8f78c8fa6ac846!8m2!3d31.4519438!4d31.6843306!16s%2Fg%2F1pty8slyq?entry=ttu"
for i, v in enumerate(maps.get_reviews(url=url, sleep_time=1)):
print(i, v)
by ids
from GoogleMapspy import GoogleMaps
maps = GoogleMaps(lang="en", country_code="eg")
place_name = "مطعم الكتكوت للمشويات، مدينة الروضة، مركز فارسكور"
place = maps.get_place(place_name)
print(place)
ids = place.review_ids # ["1511502518116541527", "2022987617800227988"]
images = maps.get_images(ids)
print(images)
name | type | return |
---|---|---|
expensive | str | expensive level |
reviews | dict | reviews url, count |
rate | float | rate |
website | dict | website url |
location | dict | location dict of latitude, longitude |
name | str | name of place |
category | list | category |
type2 | list | type2 |
address | dict | address |
images | dict | images (main image) |
tags | list | tags |
short_tags | list | short_tags |
lang | str | language |
lang_code | str | language_code |
search_google_url | str | search_google_url |
phone | str | phone |
google_place_id | str | google_place_id |
review_ids | list | review_ids |
url | str | url |
days | list | open in days |