1 519
Подписчики
-224 часа
-57 дней
-630 дней
Архив постов
1 518
برنامه نویسی ربات اینستاگرام
برنامه نویسی ربات اینستاگرام یکی از پر در آمدترین شغل ها است. داشتن توانایی برای پیاده سازی ربات های شبکه اجتماعی امتیازی بسیار مثبت است. زیرا تنها کسانی که چند سال سابقه برنامه نویسی دارند می توانند بدون هیچ آموزشی این کار را انجام دهند. این افراد که به آنها برنامه نویس ارشد می گویند(senior programmer) توانایی حل مسئله بالا و توانایی کمک به دیگران را دارند. من در این آموزش با شما هستم تا برنامه نویسی شما را به یک سطح بالاتر ارتقاع دهم. به همین دلیل از یک سطح ساده شروع به پیاده سازی ربات اینستاگرام کرده ام. سطحی که در کمال سادگی کدی پایدار را در اختیار شما قرار می دهد
1 518
کد ربات اینستاگرام
در این آموزش کدهای پایتون هر مرحله به صورت جداگانه قرار داده شده است. تمامی کدها به صورت خط به خط توضیح داده شده است. کدها با زبان پایتون نسخه ۳٫۷ برنامه نویسی شده اند. حداقل پیش نیاز این دوره آشنایی به زبان پایتون است. یعنی بتوانید پایتون را نصب کنید و چند خط کد ساده مثل print، if و… کافی است شما این موارد ابتدایی را بلد باشید. مابقی کار با ما. در این آموزش با تکنیک هایی بسیار آسان می توانید ربات های قابل اطمینانی بنویسید.
پیاده سازی ربات اینستاگرام لازمه یک کد پایدار و بدون خطا است. در حال حاظر بسیاری از ربات های نوشته شده پایدار نیستند و با خرابی ها متعدد روبرو هستند. اگر سابقه کار کردن با این ربات ها را داشته باشید قطعا با پیغام خطا و قطعی های چند روزه آنها روبروه شده اید. امااا آنچه در این آموزش یاد می گیرید یک کد پایدار برای پیاده سازی ربات اینستاگرام به زبان شیرین پایتون است.
1 518
se last 2 lines out, if you don't get a pop up asking about notifications
به منظور استفاده از کروم با سلنیوم، نیاز به نصب «کرومدرایور» (ChromeDriver) (+) است. این فرآیند بسیار ساده خواهد بود. برای این کار، ابتدا بایدChromeDriver را نصب و سپس مسیر موجود در کد بالا را با مسیر (Path) صحیح جایگزین کرد.
در سلول شماره ۳، باید رشتهها را با نام کاربری و گذرواژه آن جایگزین کرد. این کار برای آن است که ربات بتواند در فیلدهای نمایش داده شده اطلاعات را تایپ کند. ممکن است که برخی مخاطبان تاکنون متوجه شده باشند که هنگام اجرای سلول ۲، کروم یک تب جدید باز میکند. پس از گذرواژه، دکمه Login به عنوان یک «شی» (Object) تعریف شده و با خط کدی که در ادامه آمده روی آن کلیک میشود.
1 518
تواند بفهمد که کاربر در حال انجام کاری عجیب و غریب است. مهمتر از همه آنکه، برای برخی از هشتگها پیدا کردن کاربران جدید که از هشتگ مشابهی استفاده کرده باشند کار دشواری است. در این راستا نیاز به آن است که چند روز زمان به تازهسازی پایگاه کاربری داده شود.
موثرترین راه برای جلب دنبالکننده در اینستاگرام (فارغ از بحث ارسال تصاویر خوب)، دنبال کردن (Follow) افراد جدید است. برای شخص من اهمیتی نداشت که برای به دست آوردن ۴۰۰ فالور، ۳۰۰۰۰ نفر را دنبال کنم (اما برخی افراد اصرار دارند که تعداد فالووینگهای آنها بسیار کم باشد). ربات، لیستی از همه کاربرانی که ضمن اجرای آن دنبال شدهاند را فراهم میکند. بنابراین میتوان در صورت تمایل اقدامات خاصی را نسبت به این لیست انجام داد.
برای مثال، میتوانم پروفایل آنها را مشاهده و ارزیابی کنم که چه تعداد دنبالکننده یا پست دارند و متعاقبا تصمیم بگیرم که آنها را دنبال کنم یا خیر. یا حتی میتوان اولین تصویر از گالری آنها را دریافت و بررسی کرد که آیا به روز هستند یا خیر تا مشخص شود که آیا کاربر فعال است یا نه. اگر اقدام «فالو کردن» از ربات حذف شود، میتوان اطمینان حاصل کرد که تعداد فالورها به سختی افزایش پیدا میکند، زیرا افراد کمتری صرفا به خاطر لایک و نظر کسی را دنبال میکنند.
چرا کد را به اشتراک میگذارم؟
این قول و قراری بین من و خودم است. من حقیقتا به خروجی دادن به جامعه معتقدم (در عین حال محتوای زیادی نیز از آن میآموزم). چندین پلتفرم پولی وجود دارند که کاری مشابه این پروژه انجام میدهند؛ برخی از آنها مشکوک هستند و برخی توسط افراد مشهور نیز مورد استفاده قرار میگیرند. احتمال آغاز یک پلتفرم مشابه توسط خود من نیز منتفی نیست. پس چرا کدم را به صورت عمومی منتشر میکنم؟
با در نظر داشتن این موضوع، تصمیم گرفتم که سطح سختی دیگری به فرآیند انتشار کد اضافه کنم. بنابراین، قصد داشتم کد را به صورت فایل تصویر ارسال کنم. اما، متوجه شدم تصویری که ارسال میکنم بیکیفیت است. بنابراین با انجام بازنگری در این موضوع، تصمیم گرفتم خود کد را ارسال کنم. ایده ارسال تصویر به این دلیل شکل گرفت که افرادی که واقعا قصد دارند از کد استفاده کنند، دستکم آن را تایپ کنند.
این محدودیتی بود که من قصد داشتم روی این ابزار برای استفاده عموم قرار دهم تا افراد این پروژه را بازنویسی کنند و در صورت امکان بهبود ببخشند. شخصا، هر بار که کد را به جای کپی/پیست کردن اسکریپت، خودم مینویسم چیزهای زیادی میآموزم. امیدوارم دیگران نیز چنین حسی داشته باشند! این اسکریپت خیلی هم پیچیده نیست و راههای بسیاری برای بهبود آن وجود دارد، اما در حال حاضر همین کد کار میکند.
نکاتی پیرامون کدنویسی این پروژه
برای نوشتن این کد از پایتون (نسخه ۳.۷)، سلنیوم، یک مرورگر وب (کروم | Chrome) و البته اکانت اینستاگرام استفاده شده است. چشمانداز کوتاهی از کاری که ربات ارائه میکند در زیر وجود دارد.
باز کردن مرورگر و وارد شدن به اکانت اینستاگرام فرد
برای هر هشتگ در لیست هشتگها، ربات یک صفحه را باز و اولین تصویر موجود در آن را کلیک میکند تا باز شود.
در ادامه، ربات به لایک، دنبال کردن و نظردهی برای تصویر دارای هشتگ موجود در لیست هشتگها پرداخته و به تصویر بعدی میرود. این کار در یک حلقه تکرار ۲۰۰ تایی انجام میشود (عدد قابل تنظیم است).
لیستی با همه کاربرانی که فرد فالو میکند را با استفاده از ربات ذخیره میکند.
کد مراحل بالا، در ادامه آورده شده است.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep, strftime
from random import randint
import pandas as pd
chromedriver_path = 'C:/Users/User/Downloads/chromedriver_win32/chromedriver.exe' # Change this to your own chromedriver path!
webdriver = webdriver.Chrome(executable_path=chromedriver_path)
sleep(2)
webdriver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
sleep(3)
username = webdriver.find_element_by_name('username')
username.send_keys('your_username')
password = webdriver.find_element_by_name('password')
password.send_keys('your_password')
button_login = webdriver.find_element_by_css_selector('#react-root > section > main > div > article > div > div:nth-child(1) > div > form > div:nth-child(3) > button')
button_login.click()
sleep(3)
notnow = webdriver.find_element_by_css_selector('body > div:nth-child(13) > div > div > div > div.mt3GC > button.aOOlW.HoLwm')
notnow.click() #comment the
1 518
×
search

وبسایت فرادرس
مجله فرادرس
ریاضیات
هوش مصنوعی
مهندسی
افزایش فالوورهای اینستاگرام با ربات پایتون — راهنمای کاربردی
آخرین به روز رسانی: ۴ دی ۱۳۹۷ زمان مطالعه: 7 دقیقه
برنامه نویسی
رشد مخاطبان در شبکههای اجتماعی کاری پر هزینه و پرمشقت است. انجام این کار برای افرادی که تمایل به افزایش جمعیت مخاطبانی با زمینه فعالیت مرتبط و علایق مشترک با خود دارند، دشوارتر نیز میشود. «فابیو نِوِس» (Fábio Neves) در مطلبی با عنوان «Increase your Instagram followers with a simple Python bot»، به موضوع چگونگی افزایش فالوورهای اینستاگرام می پردازد. نسخه فارسی این مطلب در ادامه ارائه شده است.
فهرست مطالب این نوشته پنهان کردن
1. ساخت ربات اینستاگرام با پایتون
2. چرا کد را به اشتراک میگذارم؟
3. نکاتی پیرامون کدنویسی این پروژه
اینستاگرام همواره گزینه خوبی برای تبلیغ تصاویر است، اما گاه جمعیت فالوورهای فرد بسیار کم است. از این رو، بسیاری از افرادی که زمانی را به ارسال مطلب به صورت منظم در اینستاگرام اختصاص میدهند، پس از مدتی انگیزهای برای فعالیت به شکل منظم و برنامهریزی شده ندارند.
هدف این مطلب، ساخت جمعیت بزرگتری از مخاطبان برای یک حساب کاربری اینستاگرام است، که ممکن است منجر به افزایش ترافیک وبسایت فرد نیز بشود.
نرمافزارهای گوناگونی برای ردگیری کردن افرادی که فرد را در اینستاگرام آنفالو میکنند وجود دارد. یک سال پیش، هنگامی که جمعیت فالوورهای اینستاگرام شخصیم به دلایل مبهمی به ناگهان ریزش کرد، یکی از این برنامهها را نصب کردم. پس از اندکی پژوهش، متوجه شدم که برخی از کاربران برای افزایش فالوور «خزش» (crawl) میکنند. آنها تنها با انگیزه دنبال شدن متقابل (follow back)، به ارسال «نظر» (کامنت | Comment)، لایک و دنبال کردن افراد میپردازند.
نمیتوانم بگویم موضوع وجود رباتها در اینستاگرام من را شگفت زده کرد، بلکه تنها موجب شد من هم یک ربات برای خودم بسازم.
به همین دلیل، این مطلب را نوشته و در آن شیوه کار خودم را شرح دادم. رباتی که برای این کار ساختهام به زبان برنامهنویسی پایتون و در «چارچوب آزمون-نرمافزار» (Software-Testing Framework) «سلنیوم» (Selenium) نوشته شده است.
به طور ایدهآل، افزایش مخاطبان اینستاگرام موجب میشود من انگیزه لازم برای ارسال مطالب به طور منظم را داشته باشم. به عنوان یک حرکت دیگر در همین راستا، آدرس وبسایت خودم را نیز که مردم میتوانند در آنجا کارهای عکاسیم را خریداری کنند، در قسمت بیوگرافی پروفایلم قرار دادم.
ساخت ربات اینستاگرام با پایتون
پس از اندکی فکر کردن پیرامون این پروژه، هدف نهایی افزایش تعداد مخاطبان مرتبط تعیین شد. من میخواهم دنبالکنندگانی را به دست بیاورم که تمایل به فالو کردن و مشاهده نمونه کارهایم دارند. پرداختن به این موضوع با استفاده از هشتگها کار سادهتری بود، بنابراین ربات را به گونهای تنظیم کردم که به دنبال هشتگهای خاصی بگردد و با تصاویر موجود در آنها تعامل برقرار کند.
بدین شکل، میتوانستم مشخصا به این موضوع بپردازم که میخواهم مخاطبانم چه نوع علاقمندیهایی داشته باشند. برای مثال، من به عکاسی «نوردهی طولانی» (Long-exposure) علاقمند هستم، بنابراین میتوانم افرادی را هدف بگیرم که از این هشتگ استفاده کردهاند و مخاطبانی پیرامون این نوع از محتوا برای خودم بسازم. ساده و موثر!
گالری من ترکیبی از موضوعات و سبکهای مختلف از عکاسی خیابانی گرفته تا هوایی است و برخی از تصاویر نیز مربوط به سفر هستند. با توجه به اینکه «لیسبون» (Lisbon) شهر مادری من است، تعداد زیادی تصویر هم از آنجا گذاشتهام. اینها موضوعات کلیدی هستند که من به هشتگهایی که قصد هدفگیری آنها را دارم مورد استفاده قرار میدهم.
این ربات از مدل رباتهای «دریافت ۱۰۰۰ فالور در ۲۴ ساعت» نیست!
رباتی که آموزش ساخت آن در اینجا ارائه شده روی هشتگهای گوناگونی مانند «lisbon» ،«travelgram» ،«travelblogger» و «dronephotography» اجرا شده است. با استفاده از این ربات، تعداد فالوورهای من طی سه روز از ۳۸۰ به ۸۰۰ رسیده. لایکها، نظرات و همچنین مقداری رشد طبیعی (افرادی که من را فالو کردهاند اما توسط ربات دنبال نشدهاند) به وقوع پیوسته است.
لازم به ذکر است که از این ربات بیش از اندازه استفاده نکردهام، زیرا، در صورت فعالیت خیلی سریع و زیاد، اینستاگرام پاسخگویی به ربات را متوقف میکند. بنابراین نیاز به تعدادی دستور «sleep» در میان اقدامات در حال انجام توسط بات است، زیرا پس از ارسال تعدادی نظر و دنبال کردن چند نفر در بازه زمانی کوتاهی، اینستاگرام پاسخگویی به ربات را متوقف کرده و بات از کار میافتد.
از آنجا که فرد به اکانت خود وارد میشود، تقریبا اطمینان دارم که در صورت سرعت بخشیدن به فرآیند، اینستاگرام می
1 518
نکاتی پیرامون کدنویسی
برای نوشتن این کد از پایتون (نسخه ۳.۷)، سلنیوم، یک مرورگر وب (کروم | Chrome) و البته اکانت اینستاگرام استفاده شده است. چشمانداز کوتاهی از کاری که ربات ارائه میکند در زیر وجود دارد.
باز کردن مرورگر و وارد شدن به اکانت اینستاگرام فرد
برای هر هشتگ در لیست هشتگها، ربات یک صفحه را باز و اولین تصویر موجود در آن را کلیک میکند تا باز شود.
در ادامه، ربات به لایک، دنبال کردن و نظردهی برای تصویر دارای هشتگ موجود در لیست هشتگها پرداخته و به تصویر بعدی میرود. این کار در یک حلقه تکرار ۲۰۰ تایی انجام میشود (عدد قابل تنظیم است).
لیستی با همه کاربرانی که فرد فالو میکند را با استفاده از ربات ذخیره میکند.
1 518
ساخت ربات اینستاگرام با پایتون
پس از اندکی فکر کردن پیرامون این پروژه، هدف نهایی افزایش تعداد مخاطبان مرتبط تعیین شد. من میخواهم دنبالکنندگانی را به دست بیاورم که تمایل به فالو کردن و مشاهده نمونه کارهایم دارند. پرداختن به این موضوع با استفاده از هشتگها کار سادهتری بود، بنابراین ربات را به گونهای تنظیم کردم که به دنبال هشتگهای خاصی بگردد و با تصاویر موجود در آنها تعامل برقرار کند.
