آموزش کار با API اینستاگرام در پایتون برای مبتدیان

آموزش کار با API اینستاگرام در پایتون برای مبتدیان

استفاده از API اینستاگرام به شما اجازه می‌دهد داده‌های مرتبط با حساب‌های کاربری، پست‌ها، استوری‌ها و تعاملات کاربران را در برنامه‌های خود ادغام کنید. اگر به عنوان یک مبتدی قصد دارید از پایتون برای این منظور استفاده کنید، این مقاله راهنمای کاملی از مراحل اولیه تا نمونه کدهای عملی ارائه می‌دهد که مطالعه آن برای شروع کار با API اینستاگرام در پایتون توصیه میشود.


پیش‌نیازهای شروع کار با API اینستاگرام در پایتون

دانش اولیه پایتون
برای استفاده از API اینستاگرام، باید با مفاهیم پایه‌ای پایتون مانند متغیرها، توابع و کتابخانه‌ها آشنا باشید.

حساب Developer در فیس‌بوک
API اینستاگرام از طریق پلتفرم فیس‌بوک در دسترس است. برای شروع:

  1. به Facebook for Developers بروید.
  2. یک حساب کاربری ایجاد کنید.
  3. یک اپلیکیشن جدید بسازید و آن را به حساب اینستاگرام خود متصل کنید.

نصب ابزارهای موردنیاز در پایتون

  • Python 3.x: نسخه پایتون را نصب کنید.
  • کتابخانه‌های ضروری: کتابخانه‌هایی مثل requests برای ارسال درخواست‌های HTTP و json برای مدیریت داده‌ها را نصب کنید.
    pip install requests
    

مراحل اصلی کار با API اینستاگرام در پایتون

دریافت توکن دسترسی (Access Token)

  1. وارد حساب Facebook for Developers شوید.
  2. به بخش “Settings” و سپس “Advanced” بروید.
  3. مراحل دریافت توکن دسترسی را کامل کنید.

ساخت یک پروژه ساده برای کار با API اینستاگرام در پایتون
ابتدا یک فایل جدید در پایتون ایجاد کنید، به عنوان مثال instagram_api.py.

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

import requests

ACCESS_TOKEN = 'your_access_token_here'
USER_ID = 'your_user_id_here'
BASE_URL = 'https://graph.instagram.com/'

def get_user_followers():
    endpoint = f"{BASE_URL}{USER_ID}"
    params = {
        'fields': 'followers_count',
        'access_token': ACCESS_TOKEN
    }
    response = requests.get(endpoint, params=params)
    if response.status_code == 200:
        data = response.json()
        print(f"Followers: {data['followers_count']}")
    else:
        print(f"Error: {response.status_code} - {response.text}")

get_user_followers()

تحلیل داده‌های بازگشتی
پاسخ‌هایی که API ارائه می‌دهد معمولاً در قالب JSON هستند. می‌توانید از کتابخانه json برای تجزیه آن‌ها استفاده کنید.


پروژه عملی: نمایش اطلاعات پست‌های اخیر

به عنوان مثال برای شروع کار با API اینستاگرام در پایتون این پروژه که اطلاعات مربوط به پست‌های اخیر یک کاربر را دریافت و نمایش می‌دهد را ببینید:

def get_recent_posts():
    endpoint = f"{BASE_URL}{USER_ID}/media"
    params = {
        'fields': 'id,caption,media_type,media_url',
        'access_token': ACCESS_TOKEN
    }
    response = requests.get(endpoint, params=params)
    if response.status_code == 200:
        posts = response.json()['data']
        for post in posts:
            print(f"Post ID: {post['id']}")
            print(f"Caption: {post.get('caption', 'No Caption')}")
            print(f"Media Type: {post['media_type']}")
            print(f"Media URL: {post['media_url']}")
            print('-' * 40)
    else:
        print(f"Error: {response.status_code} - {response.text}")

get_recent_posts()

نکات مهم و چالش‌ها

محدودیت‌های API

  • درخواست‌های روزانه محدود هستند.
  • برخی امکانات پیشرفته نیازمند دسترسی‌های خاص هستند.

مدیریت خطاها
همیشه کدهای خود را به گونه‌ای طراحی کنید که خطاهای HTTP یا دسترسی را مدیریت کنند:

try:
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"HTTP Error: {e}")

امنیت توکن دسترسی
توکن دسترسی خود را هرگز در کدهای عمومی (مانند مخازن GitHub) قرار ندهید. از متغیرهای محیطی استفاده کنید:

import os

ACCESS_TOKEN = os.getenv('INSTAGRAM_ACCESS_TOKEN')

گسترش پروژه‌ها

ساخت داشبورد تحلیل داده
با استفاده از کتابخانه‌هایی مثل Dash یا Streamlit، می‌توانید داشبوردهای تعاملی بسازید.

زمان‌بندی درخواست‌ها
برای زمان‌بندی ارسال درخواست‌ها از کتابخانه schedule استفاده کنید:

import schedule
import time

def job():
    get_recent_posts()

schedule.every(1).hour.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

نتیجه‌گیری

کار با API اینستاگرام در پایتون، ابزار قدرتمندی برای تحلیل و مدیریت داده‌ها در شبکه‌های اجتماعی فراهم می‌کند. با پیروی از مراحل این مقاله و تمرین پروژه‌های کوچک، می‌توانید مهارت‌های خود را به سطح بالاتری ارتقا دهید و از امکانات اینستاگرام برای اهداف تجاری و شخصی بهره ببرید.


سوالات متداول

1. آیا نیاز به حساب تجاری برای استفاده از API است؟
بله، برای دسترسی به داده‌های خاص، باید حساب تجاری یا خالق داشته باشید.

2. آیا می‌توان بدون توکن دسترسی از API استفاده کرد؟
خیر، توکن دسترسی الزامی است.

3. چگونه می‌توان نرخ محدودیت API را مدیریت کرد؟
با ارسال درخواست‌های بهینه و استفاده از توکن‌های مختلف می‌توان محدودیت‌ها را مدیریت کرد.

4. آیا API اینستاگرام رایگان است؟
دسترسی اولیه رایگان است، اما ممکن است نیاز به پرداخت هزینه برای امکانات پیشرفته‌تر داشته باشید.

5. آیا می‌توان از API برای مدیریت چند حساب استفاده کرد؟
بله، اما باید هر حساب را به صورت جداگانه تأیید کنید.