مشخصات پروژه
-
647
-
0.0
-
5384
-
0
-
0
پروژه اینستاگرام با پایتون
ساخت یک پروژه پایتون برای اتصال به اینستاگرام و انجام عملیات مختلف مانند دریافت اطلاعات پروفایل کاربر، دریافت تصاویر و ارسال پستها میتواند یک تجربه جالب باشد.
پروژه اینستاگرام با پایتون
ساخت یک پروژه پایتون برای اتصال به اینستاگرام و انجام عملیات مختلف مانند دریافت اطلاعات پروفایل کاربر، دریافت تصاویر و ارسال پستها میتواند یک تجربه جالب باشد. در اینجا یک مثال ساده برای شروع این کار آوردهام.
استفاده از API رسمی اینستاگرام برای دسترسی به اطلاعات از طریق پایتون نیاز به مجوزهای خاص و یک برنامه توسعهدهندگان (developer account) دارد. این مثال بر اساس نسخه غیررسمی و سادهشده از API ارائه شده است.
1. نصب پکیجهای موردنیاز:
قبل از شروع، باید پکیجهای موردنیاز را نصب کنید.
pip install requests
2. پروژه پایتون:
import requests
import json
class InstagramAPI:
BASE_URL = "https://www.instagram.com"
def __init__(self, username):
self.username = username
def get_profile_info(self):
url = f"{self.BASE_URL}/{self.username}/?__a=1"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
user_info = data["graphql"]["user"]
print("Username:", user_info["username"])
print("Full Name:", user_info["full_name"])
print("Followers:", user_info["edge_followed_by"]["count"])
print("Following:", user_info["edge_follow"]["count"])
else:
print("Failed to retrieve profile information.")
def get_recent_posts(self, count=5):
url = f"{self.BASE_URL}/{self.username}/?__a=1"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
edge_owner_to_timeline_media = data["graphql"]["user"]["edge_owner_to_timeline_media"]
posts = edge_owner_to_timeline_media["edges"][:count]
print("Recent Posts:")
for post in posts:
print("Post URL:", f"{self.BASE_URL}/p/{post['node']['shortcode']}/")
# این تابع باید بهروزرسانی شود تا بتوانید پست جدید ارسال کنید
def create_post(self, caption, image_path):
print("Creating a new post...")
# ارسال پست با تصویر و توضیحات
if __name__ == "__main__":
# تست کارکرد توابع
username = "instagram_username"
api = InstagramAPI(username)
print("Profile Information:")
api.get_profile_info()
print("\nRecent Posts:")
api.get_recent_posts(count=3)
# ارسال یک پست جدید
# api.create_post(caption="This is a test post.", image_path="path_to_image.jpg")
"آیا میخواهید به یک ماجراجویی جدید در دنیای کدنویسی دعوت شوید؟ آیا تمایل دارید از یادگیری پایتون به عنوان یک زبان برنامهنویسی چندمنظوره بهرهمند شوید و پروژههای واقعی و جذابی ایجاد کنید؟ دوره پروژه محور پایتون در آموزشگاه ما با تمرکز بر کاربرد عملی، شما را با دنیای وسیع و جذاب برنامهنویسی آشنا میکند. در این دوره، بهروزترین تکنولوژیها و مفاهیم پایتون را فراخواهید گرفت و از آنها برای ایجاد پروژههای واقعی بهرهمند خواهید شد. همچنین، این دوره به شما امکان میدهد تا تجربه یک جامعه برنامهنویسی فعال را تجربه کنید و با همکاری در گروههای کاری و ایجاد پروژههای گروهی، تواناییهای اجتماعی خود را تقویت کنید. بپیوندید به دوره پروژه محور پایتون و با ما به سفری جذاب و پر از چالش در دنیای کدنویسی بپردازید. زندگی با کدنویسی بهتر است. اینجاست که شما شروع میشوید!"
در این مثال، یک کلاس 'InstagramAPI' تعریف شده است که اطلاعات پروفایل کاربر و پستهای اخیر را دریافت میکند. همچنین، یک تابع برای ارسال پست جدید نیز وجود دارد که باید بهروزرسانی شود تا از API مناسب برای ارسال پستها استفاده کند.
البته، ما با ارائه توضیحات کاملتر برای دستورات در کد پیشین کمک میکنیم تا کسانی که مبتدی هستند بتوانند آن را درک کنند. این برنامه ساده در سه بخش اصلی تقسیم میشود: نصب پکیجها، تعریف کلاس InstagramAPI و استفاده از این کلاس برای دریافت اطلاعات.
توضیح این پروژه برای افراد مبتدی:
1. نصب پکیجها:
برای نصب پکیجهای موردنیاز، از دستور زیر در خط فرمان استفاده کنید:
pip install requests
- pip: این دستور از ابزار مدیریت بستههای Python به نام pip برای نصب پکیجهای Python استفاده میکند.
- install: این پارامتر به pip میگوید که میخواهیم یک بسته جدید را نصب کنیم.
- requests: این نام پکیجی است که باید نصب شود. پکیج requests برای ارسال درخواستهای HTTP به سرورها مورد استفاده قرار میگیرد.
2. تعریف کلاس InstagramAPI:
در این بخش، یک کلاس به نام 'InstagramAPI' تعریف شده است. این کلاس دارای ۴ تابع است:
- __init__: این تابع مقادیر اولیه مورد نیاز را برای شیء ایجاد میکند. در اینجا، ما از آن برای تعیین نام کاربری (username) استفاده میکنیم.
- get_profile_info: این تابع اطلاعات پروفایل کاربر را دریافت و چاپ میکند.
- create_post: این تابع باید بهروزرسانی شود تا بتواند یک پست جدید ایجاد و ارسال کند.
- get_recent_posts: این تابع پستهای اخیر کاربر را دریافت و چاپ میکند.
3. استفاده از کلاس InstagramAPI:
در این قسمت، یک نمونه از کلاس InstagramAPI ایجاد شده و از آن برای درخواست اطلاعات و پستهای اخیر استفاده شده است.
- if __name__ == "__main__": این خط کد چک میکند که برنامه اصلی اجرا شده است یا نه.
- username = "instagram_username": این خط کد نام کاربری اینستاگرام که میخواهیم اطلاعات آن را دریافت کنیم را تعیین میکند.
- api = InstagramAPI(username): ایجاد یک شیء از کلاس InstagramAPI با استفاده از نام کاربری تعیین شده.
- api.get_profile_info(): فراخوانی تابع برای دریافت و چاپ اطلاعات پروفایل کاربر.
- api.get_recent_posts(count=3): فراخوانی تابع برای دریافت و چاپ سه پست اخیر کاربر (میتوان تعداد مورد نظر را تغییر داد).
- api.create_post(...): این تابع باید بهروزرسانی شود تا بتواند یک پست جدید ایجاد و ارسال کند. این بخش در مثال ساده فعال نشده است.
برای اجرای برنامه، کد را در یک فایل با پسوند .py ذخیره کرده و از خط فرمان یا محیط توسعهدهنده Python آن را اجرا کنید.