Google Maps Scraping

Arkadaşlar aşağıdaki kod none döndürüyor nedenini bir türlü anlayamadım yardımcı olabilir misiniz ?

import time

import requests
from bs4 import BeautifulSoup


keyword = input("Anahtar kelime:")

def get_google_maps_results(keyword):
  user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
  headers = {
    "User-Agent": user_agent
  }

  "Gets results from Google Maps for the given keyword."

  # Create a URL for the Google Maps API.
  url = "https://www.google.com/maps/search/?q=" + keyword

  # Make a request to the Google Maps API.
  response = requests.get(url, headers=headers)

  # Check if the request was successful.
  if response.status_code == 200:
    # Get the results from the response.
    print("Bağlantı Başarılı")

    # HTML'yi işleyici
    soup = BeautifulSoup(response.content, "lxml")
    print("Sayfa kaynağı ayrıştırılıyor..")
    print(soup)
    # Bağlantıları bul
    links = soup.find_all("div", class_="bfdHYd Ppzolf OFBs3e")
    print("URL kaynakları toplanıyor..")
    print(links)
    # Bağlantıların href'lerini yazdır
    for link in links:
      print(link["aria-label"])

  else:
    print("Bağlantı Başarısız")

get_google_maps_results(keyword)

Merhaba,

Google maps’e bir yer bulma isteği göndermek istiyorsanız, önce bir tane google maps api key temin etmelisiniz.

Daha sonra da google maps’e bir yer bulma isteği gönderirken nasıl filtreler uygulayabileceğinizi öğrenmek için dokümantasyonu incelemeniz gerekir.

Daha fazla bilgi için Geliştirici Kılavuzundaki alt başlıkları da incelemenizi tavsiye ederim.

Google maps için bir api key aldıktan sonra aşağıdaki gibi bir kod ile bir yer bulma isteği gönderebilirsiniz.

import os
import requests

url = "https://maps.googleapis.com/maps/api/place/textsearch/json?" \
      f"query={input('Search: ')}&" \
      f"key={os.environ.get('GOOGLE_MAPS_API_KEY')}"

response = requests.get(url)
print(response.text)

Dokümantasyonu incelerseniz, url’nin içindeki parametreleri değiştirerek yer sorgularını nasıl ayrıntılandırabileceğinizi görebilirsiniz.

Hocam öncelikle zaman ayırdığınız için teşekkürler ancak ben api kullanmak istemediğim için böyle yapmak istedim. Bu da sonuçsuz kalırsa artık selenium ile yapacağım gibi görünüyor

Kolay gelsin.