آموزش ساخت ربات اینستاگرام جدید 2020
تا حالا شاید برای خیلی ها سوال بوده چطوری میتوانیم برای سرویس های مختلف و غول های فناوری بتونیم ربات بنویسم و فعالیت های خود را خودکار کنیم . تا بتوانیم هم در زمان خود صرفه جویی کنیم و هم بتونیم پیشرفت های خوبی داشته باشیم و یا شاید هدفمون ایجاد یک کسب و کار در حوزه های مختلف ایجاد کنیم.
ربات اینستاگرام چیست و چه کاربردی دارد؟
ربات اینستاگرام در واقع سرویس های هوشمندی جهت خودکار سازی فعالیت های ما در طول شبانه روز هستند مثلا میتوانیم برنامه ریزی کنیم که ربات از موقعیت مکانی خواصی پست گذاران آن موقعیت را استخراج و فعالیت های که ما میخواهیم بر روی آنها انجام دهد. (مانند فالوو کردن , آنفالوو کردن و ...)
پیش نیاز های لازم برای شروع
در ابتدا قبل از شروع برای ساخت ربات اینستاگرام ابتدا باید استراتژی و رودمپ خودتونو بنویسید اینکه اصلا ربات را برای مصارف شخصی خودتون میخواهید. و یا برای ایجاد یک کسب و کار و بعد از اینکار امکانتی که از ربات میخواهید را بنویسید شاید شما بخواهید کاملا یک ربات متفاوت داشته باشید که فقط در طول شبانه روز بصورت مرتبط استوری افراد را مشاهده کند و یا ویدیو های لایو و براشون لایک و یا نظر بفرستد.
پیش نیازها :
- آشنایی حداقل با یک زبان برنامه نویسی تحت وب
- آشنایی با ui و ux
- آشنایی با json و پردازش آن
اولین مرحله و مهمترین قدم
اینستاگرام تنها به یک صورت api ارائه میدهد و api اینستاگرام بر اساس توکن های اهراز شده کار برای دامین و یا هاست های انتخابی هست که محدودیت های زیادی دارد و برای پیاده سازی ربات مناسب نیست. اما راه حلی زیادی برای اینکار هستش که میتوانیم از api های شبیه ساز استفاده کنیم.
استفاده از api اینستاگرام شبیه سازی شده
این نوع api ها که زیاد هم هستن در واقع یک دیوایس حالا چه مرورگر چه موبایل را شبیه سازی میکنند
شما باید بسته به زبان برنامه نویسی که کار میکنید هسته api اینستاگرام خودتونو پیاده سازی بکنید. اینکه از چه هسته ای برای کد نویسی و توسعه شروع کنید مهمترین بحث هستش و برای اینکار باید نکات مختلفی را در نظر بگیرید.
موارد مهم در انتخاب api اینستاگرام مناسب :
- بروز بودن و آبدیت شدن
- ارائه امکانات زیاد
- اصولی بودن کدنویسی و توسعه راحتر
- سازگاری بهتر با شبیه سازی گوشی
- تعداد توسعه دهنده فعال
لیست بهترین api های آماده
حال میپردازیم به لیست api های موجود در github و معرفی نوع زبان برنامه نویسی و امکانات آنها
1 - اولین و بهترین api
Instagram-API
این api توسط تیم بسیار خلاق و حرفه ای mgp25 منتشر شده است. زبان برنامه نویسی آن php میباشد که شما را قادر به پیاده سازی آن تحت وب میدهد و توسعه آن بسیار راحت و منابع در دسترس بسیار زیاد است.
ویژگی ها :
- بروز بودن و آبدیت شدن
- توسعه دهندگان زیاد
- زبان برنامه نویسی php
- مستندات زیاد
- توسعه راحت
- پشتیبانی تمام قابلیت های اینستاگرام
مراحل نصب :
1 - ابتدا از گیت هاب دانلود کنید سپس در پوشه مربوطه کد زیر را وارد نمایید.
1composer require mgp25/instagram-php
با زدن این دستور تمامی کتابخانه های لازم برای این پروژه دانلود و نصب میشه در مرحله دوم برای استفاده در پروژه خودتون کافیه کلاس مربوطه رو فراخوانی کنید.
2 - فراخوانی کلاس :
123require __DIR__.'/../vendor/autoload.php';
$ig = new \InstagramAPI\Instagram();
در ادمه همین مقاله مثال هایی از این پروژه بی نظیر میزنیم.
2 - NodeJS Instagram private API
instagram-private-api
این پروژه توسط dilame منتشر شده است. برنامه نویسی آن nodejs میباشد و با توجه به بروز بودن میشه قابلیت های فوق العاده پیاده سازی کرد.
ویژگی ها :
- بروز بودن و آبدیت شدن
- هسته nodejs
- توسعه راحت
امکان پیاده سازی بر روی مرورگر
معایب :
- نوپا بودن این پروژه
- نبود مستندات کافی
- توسعه دهنده اندک
- ارائه ندادن بسیاری از قابلیت های اینستاگرام
مراحل نصب :
1 - دانلود و نصب
1npm install github:dilame/instagram-private-api
2 - فراخوانی پروژه
123import { IgApiClient } from './src';
import { sample } from 'lodash';
const ig = new IgApiClient();
3 - Instagram bot
instabot.py
این api توسط instabot-py ارائه شده شبیه سازی این ربات بر اساس مروگر کار میکند. زبان برنامه نویسی آن زبان قدرتمند python میباشد و چندین سالی میشود که ارائه شده.
ویژگی ها :
- بروز بودن و آبدیت شدن
- مستندات کافی
- زبان پایتون
معایب :
- توسعه دهنده اندک
- استاندارد نبودن کد نویسی
- مرورگر بیس بودن
- ضعیف بودن برایه پیاده سازی تحت سرور
مراحل نصب :
1 - دانلود و نصب
1python3 -m pip install git+https://github.com/instabot-py/instabot.py
2 - فراخوانی کلاس
1 from instabot_py import InstaBot
دومین قدم پیاده سازی قابلیت های مد نظر در ربات
بعد از آنکه هسته api خود را انتخاب کردید حال زمان پیاده سازی قابلیت های که در نظر دارید برای ربات اینستاگرام رسیده است. بطور مثال شاید شما بخوایید ربات شخصی شما بیاد فالوور های یک پیج رو استخراج کنه و شروع به فالوو کردن آن ها بکنه. بگذارید مثالی برایتان بزنم
نکته : در این مثال هسته انتخابی ما mgp25 میباشد به دلایلی نظیر کامل بودن و قابلیت های فراوان
مثال : فالوو کردن از لیست فالوور های پیج هدف
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263<?php
set_time_limit(0);
date_default_timezone_set('UTC');
require __DIR__ . '/../vendor/autoload.php';
/////// CONFIG ///////
$username = '';
$password = '';
$debug = true;
$truncatedDebug = false;
//////////////////////
$ig = new \InstagramAPI\Instagram($debug, $truncatedDebug);
try {
$ig->login($username, $password);
} catch (\Exception $e) {
echo 'Something went wrong: ' . $e->getMessage() . "\n"
exit(0);
}
function rankToken()
{
$rankToken = \InstagramAPI\Signatures::generateUUID();
return $rankToken;
}
function get_followers($getAll = false, $userId = null, $maxId = null, $maxCount = 190)
{
global $ig;
if ($userId == "") $userId = $ig->account_id;
try {
if ($getAll) {
$users = array();
do {
$response = $ig->people->getFollowers($userId, rankToken(), array(), $maxId);
$response = json_decode($response);
$users = array_merge($users, $response->users);
} while (isset($response->next_max_id) && !is_null($maxId = $response->next_max_id) && $maxCount > count($users));
return $users;
} else {
$response = $ig->people->getFollowers($userId, rankToken(), array(), $maxId);
$response = json_decode($response);
if (isset($response->users) && !empty($response->users)) {
$users = $response->users;
return $users;
}
}
return false;
} catch (Exception $e) {
return false;
}
}
$userIds = get_followers();
foreach ($userIds as $key => $user) {
$action = $ig->people->follow($user->pk);
if (isset($action->status) && $action->status == "ok") {
$response[] = $user;
} else {
$response = $action;
}
}
این صرفا یک مثال ساده برای فالوو کردن لیست فالوور های یک پیج بصورت اتوماتیک هست. شما باید کلاس های مختلفی برای کارهای مختلف پیاده سازی کنید نکات بسیاری را در نظر بگیرید مانند تکراری فالوو نکردن یک یوزر و حال زمانبدی برای استراحت در زمان های مختلف...
همچنین میتوانید از این کلاس های که پیاده سازی میکنید در سایت خود استفاده کنید گرچه الان اسکریپت های آماده زیادی برای اینکار هستن که میتوانید با انتخاب یکی از آنها و توسعه و تغییرات آنها برای موارد دلخواه خودتون یک سیستم هوشمند برای خودتون ایجاد و پیاده سازی کنید.
سورس ربات اینستاگرام
همچنین یکی از کارهایی که میتوانید برای راحتر و کوتاه کردن برنامه نویسی های لازم انجام بدید از سورس های آماده ربات اینستاگرام استفاده کنید. تا بتوانید به سورس های یک پروژه آماده دسترسی داشته باشید و تغییراتی که مد نظر شماست اعمال کنید. اکثر این پروژه های آماده بروز پولی هستن ولی خوب بسته به حجم پروژه ارزش دارند تا از لحاظ زمانی در وقت خود صرفه جویی کنید.
لیست بهترین سورس های آماده :
1 - nextpost
2 - stackposts
نکته : این اسکریپت ها کامل نیستند و ایراداتی دارند بدیهی هست که باید تغییراتی را داده باشید برای شروع یک بیزینس و یا ربات شخصی اینستاگرام
همچنین میتوانید از ربات اینبو که نسخه کاملا بروز و بهینه شده استک پست هست استفاده کنید که سورس کامل و بدون ایراد استک پست را ارائه میدهد. و پشتیبانی کاملی را ارائه میدهند. تغییرات زیادی در این نسخه داده شده که امکانات زیادی بهش اضافه شده پشتیبانی این محصول باعث راحتی افرادی که آشنا با برنامه نویسی نیستند یک مزیت محسوب میشود.
1 - نمایندگی خرید فالوور ارزان
جمع بندی
ما بصورت مختصر در مورد نحوه برنامه نویسی و پیاده سازی یک ربات اینستاگرام از طریق api اینستاگرام صحبت کردیم الان تقریبا تمامی ربات های اینستاگرام از api mgp25 استفاده میکنند. در اصل این موضوع جایه صحبت فراوان دارد و در قالب یک مقاله جای نمیگیرد و حتما در مقالات آتی مثال ها و پروژه های بهتری را معرفی میکنیم.
امیدوارم این مقاله برای شما مفید باشه لطفا نظرات خود را با ما در میان بزارید خوش حال میشیم نظرات شما برای امکانات های که در نظر دارید بشنویم تا بتوانیم پروژه خوبی در مقاله های بعد معرفی کنیم.
مطلبی دیگر از این انتشارات
کتاب رباتیک - معرفی 14 کتاب کاربردی رشته Robotics
مطلبی دیگر از این انتشارات
JSON چیست؟ + صرف و نحو فایل JSON
مطلبی دیگر از این انتشارات
ساده ولی در مواردی، عذاب آور (نکاتی برای Django)