Python ile API Kullanımı

Python ile API Kullanımı

Merhaba iyi günler.

Bugün; popülaritesi gün geçtikçe yükselen, birçok makine öğrenmesi-yapay zeka temelli uygulamalarda açık ara ön planda olan, veri madenciliği-bilimsel analiz çözümlemelerinde esnek çözümlemeler sunan, hızlı ve çevik yapısı ile kullanıcıların gözdesi olarak yer edinmiş Python dili üzerinde APIApplication Programming Interface (Uygulama Programlama Arabirimi) çözümlerini inceliyor olacağım.

Şimdiden iyi okumalar.

Hatırlatma:Python ve Pyhton Kütüphanelerine yönelik ön bilgiler içeren hatırlatmalara alt kısımda yer alan yazılar üzerinden ulaşabilirsiniz.

İlgili yazı içeriğine ulaşmak için lütfen tıklayınız...

Please click to access the related article content...

İlgili derlenmiş kod çözümü ise;

The relevant compiled code solution is;

import requests
import pyodbc

API_KEY = "The Movie DB üzerinden edindiginiz key."

server = 'server' 
#PORT:1433
database = 'database' 
username = 'username' 
password = 'password' 
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()

page = 1
while True:
    response = requests.get(
        "https://api.themoviedb.org/3/movie/popular",
        params={"api_key": API_KEY, "page": page}
    )

    movies_data = response.json()["results"]

    if not movies_data or page==500:
        break

    for movie_data in movies_data:
        image_response = requests.get(
            f"https://api.themoviedb.org/3/movie/{movie_data['id']}/images",
            params={"api_key": API_KEY}
        )
        image_path = image_response.json()["posters"][0]["file_path"]
        image_url = f"https://image.tmdb.org/t/p/w500{image_path}"

        imdb_response = requests.get(
            f"https://api.themoviedb.org/3/movie/{movie_data['id']}/external_ids",
            params={"api_key": API_KEY}
        )
        imdb_id = imdb_response.json()["imdb_id"]

        cursor.execute(
            "INSERT INTO MovieDetail (title, release_date, overview, image_url, imdb_id) VALUES (?, ?, ?, ?, ?)",
            (movie_data["title"], movie_data["release_date"], movie_data["overview"], image_url, imdb_id)
        )

    cnxn.commit()
    page += 1

cursor.close()
cnxn.close()
USE [TheMovieDB]
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[MovieDetail](
    [title] [nvarchar](250) NULL,
    [release_date] [nvarchar](50) NULL,
    [overview] [nvarchar](max) NULL,
    [image_url] [nvarchar](max) NULL,
    [imdb_id] [nvarchar](25) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO