Daftar Isi

Karena berbagai perlindungan (Recaptcha, konten dinamis, pemeriksaan IP, dll.), mengikis Google Maps dengan python murni cukup menantang meskipun Anda memiliki pengalaman di bidang ini. Untungnya, ada banyak alat yang dapat Anda gunakan untuk mengikis ulasan dalam python atau bahasa pemrograman lainnya.

Pada artikel ini, Anda akan melihat dua alat yang paling umum digunakan untuk mengikis Google Maps: emulasi peramban dan API Outscraper. Tutorial ini seharusnya cukup untuk mengekstrak data untuk individu dan tim data besar.

Mengikis Google Places di Pyhton

Anda bisa mencoba mengorek Google dengan python murni, tetapi dalam 10 kali permintaan, Anda akan melihat bahwa perangkat lunak Anda diblokir. Hal ini terjadi karena Google memvalidasi sesi dan mengharapkan JavaScript melakukan beberapa panggilan API di latar belakang. Oleh karena itu, menggunakan emulasi peramban diperlukan untuk mencegah Google Maps memblokir perayap kita. Selain itu, Anda dapat menggunakan proxy.

Untuk memulai membuat scraper google maps dengan emulasi browser, silakan ikuti langkah-langkah yang dijelaskan dalam tutorial ini Cara Mengikis Google Maps dengan Python dan Selenium.

Mengikis Google Places di Python Dalam 6 Menit

Mengembangkan pengikis Google Maps dan memeliharanya mungkin membutuhkan banyak waktu dan tenaga. Oleh karena itu, banyak tim teknik yang merasa lebih baik fokus pada bidang utama mereka dan menggunakan Platform Outscraper sebagai sumber data yang dapat diandalkan untuk aplikasi mereka.

Mengikis Google Maps Dengan Menggunakan SDK

1. Anda akan membutuhkan python3+ dan paket python ini. Instal paket dengan menjalankan perintah berikut.

				
					pip install google-services-api
				
			

2. Dapatkan kunci API Anda dari halaman profil.
3. Impor paket dan inisialisasi dengan kunci. Tentukan kueri untuk menjalankan pencarian seperti ini "Restoran di dekat Los Angeles, AS.” Gunakan negara dan kota di dalam setiap kueri.

				
					from outscraper import ApiClient


api_cliet = ApiClient(api_key='KEY_FROM_OUTSCRAPER')
response = api_cliet.google_maps_search(
    'Restaurants near Los Angeles, USA',
    language='en',
    region='es',
    limit=100
)
				
			

4. Tunggu beberapa detik hingga data diambil.

				
					[
    {
        "name": "Sushi Gen",
        "full_address": "422 E 2nd St, Los Angeles, CA 90012",
        "borough": "Little Tokyo",
        "street": "422 E 2nd St",
        "city": "Los Angeles",
        "postal_code": "90012",
        "country_code": "US",
        "country": "United States of America",
        "us_state": "California",
        "state": "California",
        "plus_code": null,
        "latitude": 34.0466917,
        "longitude": -118.2385444,
        "time_zone": "America/Los_Angeles",
        "site": "http://www.sushigen-dtla.com/",
        "phone": "+1 213-617-0552",
        "type": "Sushi restaurant",
        "subtypes": "Sushi restaurant, Japanese restaurant",
        "posts": null,
        "rating": 4.6,
        "reviews": 1244,
        "reviews_data": null,
        "photos_count": 1261,
        "google_id": "0x80c2c63850150b9d:0x96cdcf9a38a24170",
        "place_id": "ChIJnQsVUDjGwoARcEGiOJrPzZY",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJnQsVUDjGwoARcEGiOJrPzZY&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=en&gl=US",
        "reviews_id": "-7580174336512605840",
        "photo": "https://lh5.googleusercontent.com/p/AF1QipMtt0bMtJTF1bDTZ2tbXuWXtZTNWmvjJUu3ejKy",
        "working_hours_old_format": "Monday: Closed | Tuesday: 11AM\u20132PM,5\u20137:30PM | Wednesday: 11AM\u20132PM,5\u20137:30PM | Thursday: 11AM\u20132PM,5\u20137:30PM | Friday: 11AM\u20132PM,5\u20138PM | Saturday: 4\u20138PM | Sunday: Closed",
        "working_hours": {
            "Monday": "Closed",
            "Tuesday": "11AM\u20132PM,5\u20137:30PM",
            "Wednesday": "11AM\u20132PM,5\u20137:30PM",
            "Thursday": "11AM\u20132PM,5\u20137:30PM",
            "Friday": "11AM\u20132PM,5\u20138PM",
            "Saturday": "4\u20138PM",
            "Sunday": "Closed"
        },
        "business_status": "OPERATIONAL",
        "about": {
            "Service options": {
                "Takeout": true,
                "Delivery": false
            },
            "Health & safety": {
                "Mask required": true
            },
            "Highlights": {
                "Great tea selection": true
            },
            "Popular for": {
                "Lunch": true,
                "Dinner": true,
                "Solo dining": true
            },
            "Accessibility": {
                "Wheelchair accessible entrance": true
            },
            "Offerings": {
                "Healthy options": true,
                "Small plates": true
            },
            "Dining options": {
                "Dessert": true
            },
            "Amenities": {
                "High chairs": true
            },
            "Atmosphere": {
                "Casual": true,
                "Cozy": true
            },
            "Crowd": {
                "Groups": true,
                "Tourists": true
            },
            "Planning": {
                "Dinner reservations recommended": true,
                "Accepts reservations": true,
                "Usually a wait": true
            }
        },
        "range": "$$$",
        "reviews_per_score": {
            "1": 25,
            "2": 14,
            "3": 52,
            "4": 291,
            "5": 862
        },
        "reserving_table_link": null,
        "booking_appointment_link": null,
        "owner_id": "100930306416993024046",
        "verified": true,
        "owner_title": "Sushi Gen",
        "owner_link": "https://www.google.com/maps/contrib/100930306416993024046",
        "location_link": "https://www.google.com/maps/place/Sushi+Gen/@34.0466917,-118.2385444,14z/data=!4m8!1m2!2m1!1sSushi+Gen!3m4!1s0x80c2c63850150b9d:0x96cdcf9a38a24170!8m2!3d34.0466917!4d-118.2385444"
    },
    {
        "name": "Water Grill",
        "full_address": "544 S Grand Ave, Los Angeles, CA 90071",
        "borough": "Financial District",
        "street": "544 S Grand Ave",
        "city": "Los Angeles",
        "postal_code": "90071",
        "country_code": "US",
        "country": "United States of America",
        "us_state": "California",
        "state": "California",
        "plus_code": null,
        "latitude": 34.0490403,
        "longitude": -118.25470659999999,
        "time_zone": "America/Los_Angeles",
        "site": "https://www.watergrill.com/la",
        "phone": "+1 213-891-0900",
        "type": "Seafood restaurant",
        "subtypes": "Seafood restaurant",
        "posts": null,
        "rating": 4.4,
        "reviews": 1387,
        "reviews_data": null,
        "photos_count": 1429,
        "google_id": "0x80c2c7b4901ce7c7:0x2ad996c9a82b097c",
        "place_id": "ChIJx-cckLTHwoARfAkrqMmW2So",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJx-cckLTHwoARfAkrqMmW2So&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=en&gl=US",
        "reviews_id": "3087664812393171324",
        "photo": "https://lh5.googleusercontent.com/p/AF1QipPX7-DP07mvQQSxDjDjuOVYj9HlQ2bvNJ_EEZYW",
        "working_hours_old_format": "Monday: 11:30AM\u20139PM | Tuesday: 11:30AM\u20139PM | Wednesday: 11:30AM\u20139PM | Thursday: 11:30AM\u20139PM | Friday: 11:30AM\u201310PM | Saturday: 4\u201310PM | Sunday: 4\u20139PM",
        "working_hours": {
            "Monday": "11:30AM\u20139PM",
            "Tuesday": "11:30AM\u20139PM",
            "Wednesday": "11:30AM\u20139PM",
            "Thursday": "11:30AM\u20139PM",
            "Friday": "11:30AM\u201310PM",
            "Saturday": "4\u201310PM",
            "Sunday": "4\u20139PM"
        },
        "business_status": "OPERATIONAL",
        "about": {
            "Service options": {
                "Takeout": true,
                "Dine-in": true,
                "Delivery": false
            },
            "Health & safety": {
                "Mask required": true,
                "Staff wear masks": true,
                "Staff get temperature checks": true,
                "Staff required to disinfect surfaces between visits": true
            },
            "Highlights": {
                "Great dessert": true
            },
            "Popular for": {
                "Lunch": true,
                "Dinner": true,
                "Solo dining": true
            },
            "Accessibility": {
                "Wheelchair accessible entrance": true,
                "Wheelchair accessible seating": true
            },
            "Offerings": {
                "Alcohol": true,
                "Beer": true,
                "Cocktails": true,
                "Coffee": true,
                "Hard liquor": true,
                "Healthy options": true,
                "Late-night food": true,
                "Small plates": true,
                "Vegetarian options": true,
                "Wine": true
            },
            "Dining options": {
                "Lunch": true,
                "Dinner": true,
                "Dessert": true,
                "Seating": true
            },
            "Amenities": {
                "Bar onsite": true,
                "High chairs": true,
                "Restroom": true,
                "Wi-Fi": true
            },
            "Atmosphere": {
                "Cozy": true,
                "Romantic": true,
                "Upscale": true
            },
            "Crowd": {
                "Family-friendly": true,
                "Groups": true,
                "Tourists": true
            },
            "Planning": {
                "Lunch reservations recommended": true,
                "Dinner reservations recommended": true,
                "Accepts reservations": true
            }
        },
        "range": "$$$",
        "reviews_per_score": {
            "1": 27,
            "2": 32,
            "3": 97,
            "4": 408,
            "5": 823
        },
        "reserving_table_link": "https://www.watergrill.com/la#RESERVATIONS",
        "booking_appointment_link": "https://www.watergrill.com/la#RESERVATIONS",
        "owner_id": "116715188720123884576",
        "verified": true,
        "owner_title": "Water Grill",
        "owner_link": "https://www.google.com/maps/contrib/116715188720123884576",
        "location_link": "https://www.google.com/maps/place/Water+Grill/@34.0490403,-118.25470659999999,14z/data=!4m8!1m2!2m1!1sWater+Grill!3m4!1s0x80c2c7b4901ce7c7:0x2ad996c9a82b097c!8m2!3d34.0490403!4d-118.25470659999999"
    },
    ...
]

				
			

Video Tutorial

FAQ

Pertanyaan dan jawaban paling sering

Karena berbagai perlindungan (Recaptcha, konten dinamis, pemeriksaan IP, dll.), mengikis Google Maps dengan python murni adalah tugas yang menantang. Untuk alasan ini, layanan yang menawarkan solusi seperti Outscraper dapat digunakan.

Python SDK yang memungkinkan penggunaan Layanan Outscraper dan API Outscraper. Jadi, Anda bisa mengikis data Google Maps di Python.

Semua lokasi di Google Maps dapat dikikis dengan API Google Places Outscraper. Semua data milik lokasi ini terdaftar dan dapat diekspor.

Dengan API Ulasan Google Maps Outscraper, penggalian ulasan dapat dilakukan dengan Python dan bahasa pengkodean lainnya. 

Pengikisan dilakukan dalam 5 langkah:
1. Anda akan membutuhkan Python 3+ dan paket Python. Instal paket tersebut.
2. Dapatkan kunci API Anda dari halaman profil Outscraper.
3. Impor paket dan inisialisasi dengan kunci.
4. Tentukan lokasi dengan memberikan tautan, Id tempat, atau nama.
5. Tunggu beberapa detik sampai ulasan akan diambil.


0 Komentar

Tinggalkan Balasan

Tempat penampung avatar