Teleport API با پایتون (نحوه دریافت داده های جغرافیایی)

API تله پورت اجازه می دهد تا داده های مربوط به مناطق جغرافیایی را به صورت رایگان جمع آوری کنید.

Teleport به شما امکان می دهد داده ها را از شهرهایی مانند:

  • جمعیت
  • حوزه جغرافیایی
  • حقوق و دستمزد
  • بازار کار
  • خرج زندگی
  • تصاویر
  • و بیشتر

در این آموزش نحوه استفاده از API تله پورت برای جمع آوری داده های جغرافیایی را خواهیم آموخت.

نتیجه مثال با استفاده از Teleport API با پایتون

Teleport API چیست؟

Teleport API یک رابط برنامه نویسی برنامه منبع باز است که به شما امکان می دهد داده ها را از مناطق جغرافیایی جمع آوری کنید.

استفاده از Teleport API با پایتون

اطلاعات مربوط به API را می توان در اسناد رسمی Teleport API یافت.

API چگونه کار می کند؟

Transport API یک API باز است که به سادگی می توانید نقطه پایانی را برای آن فراخوانی کنید.

به عنوان مثال، اگر URL زیر را در مرورگر خود باز کنید، خواهید دید که برای استفاده از API نیازی به احراز هویت نیست.

https://api.teleport.org/api/urban_areas/slug:boston/

برای استفاده از API با پایتون، فقط باید از کتابخانه درخواست های پایتون استفاده کنیم.

توابع را برای دریافت داده ایجاد کنید

import requests

def get_teleport_data(city_name):
    ua_endpoint = get_urban_area_endpoint(city_name)
    results = {}
    if ua_endpoint:
        details = get_area_details(ua_endpoint)
        results['details'] = details
        images = get_area_images(ua_endpoint)
        results['images'] = images
        scores = get_area_scores(ua_endpoint)
        results['scores'] = scores
    return results


def get_urban_area_endpoint(city_name):
    try:
        cities_endpoint = 'https://api.teleport.org/api/cities/'
        url = f'{cities_endpoint}?search={city_name}'
        
        r = requests.get(url)
        r = r.json()
        r['_embedded']
        geoname_url = r['_embedded']['city:search-results'][0]['_links']['city:item']['href']
        
        r2 = requests.get(geoname_url)
        r2 = r2.json()
        ua_endpoint = r2['_links']['city:urban_area']['href']
        return ua_endpoint
    except:
        return None

def get_area_details(ua_endpoint):
    try:
        r = requests.get(ua_endpoint + 'details/')
        r = r.json()

        result = {}

        for cat in r['categories']:
            result[cat['label']] = {}
            for i in cat['data']:
                name = i['label']
                key = [k for k in i.keys() if 'value' in k][0]
                score = i[key]
                # result[name] = score
                result[cat['label']][name] = score
        return result
    except:
        return 'not_found'


def get_area_images(ua_endpoint):
    try:
        r = requests.get(ua_endpoint + 'images/')
        r = r.json()
        return r['photos']
    except:
        return 'not_found'


def get_area_scores(ua_endpoint):
    try:
        r = requests.get(ua_endpoint + 'scores/')
        r = r.json()
        result = {}
        for i in r['categories']:
            name = i['name']
            score = i['score_out_of_10']
            result[name] = score
        return result
    except:
        return 'not_found'

نتیجه را برگردانید

city_name = 'Boston'

results = get_teleport_data(city_name)

دریافت تصاویر برای شهر

نمایش امتیازات شهر

نتیجه

این است، برای مثال های بیشتر در مورد نحوه استفاده از Transport API با پایتون، فقط به وب سایت اسناد رسمی بروید.

سئو PBN | خبر های جدید سئو و هک و سرور