در کد بالا، تنها نیاز به جایگذاری نام کاربری و رمز عبور است و پس از آن، همین دو خط کد کاری را انجام میدهد که کدهای قبلی انجام میدادند. با وجود آنکه نتایج این دو قطعه کد مشابه با یکدیگر است، ساز و کار به وقوع پیوسته در آنها شبیه به هم نیست. علاوه بر وارد شدن به پروفایل، اینستاپای کارهای دیگری مانند بررسی اتصال اینترنت و بررسی وضعیت سرورهای اینستاگرام را انجام میدهد. این مورد به طور مستقیم در مرورگر یا در سوابق (Log) قابل مشاهده است.
INFO [2019-12-
INFO [2019-12-
INFO [2019-12-17 22:03:19] [username] -- Connection Checklist [1/3] (Internet Connection Status) INFO [2019-12-17 22:03:20] [username] - Internet Connection Status: ok INFO [2019-12-17 22:03:20] [username] - Current IP is "17.283.46.379" and it's from "Germany/DE" INFO [2019-12-17 22:03:20] [username] -- Connection Checklist [2/3] (Instagram Server Status) INFO [2019-12-17 22:03:26] [username] - Instagram WebSite Status: Currently Up
اکنون زمان آن رسیده است که اسکریپت نوشته شده برای ربات، کارهایی جالبتر از وارد شدن به حساب کاربری فرد را انجام دهد. بدین منظور، فرض میشود که حساب کاربری که ربات برای آن ساخته شده، پیرامون خودروها است و بنابراین، ربات تمایل به دنبال کردن و تعامل با کاربرانی دارد که به خودروها علاقهمند هستند. در این راستا و برای شروع، ربات میتواند با لایک کردن پستهایی که دارای تگ bmw# یا mercedes# هستند شروع کند. بدین منظور، از متد like_by_tags() استفاده میشود.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5)
در اینجا، به متد یک لیست از تگها و تعداد تصاویری که برای هر تگ باید لایک کنند، داده میشود. در این مثال، ربات به گونهای تنظیم شده است که برای هر یک از دو تگ داده شده، پنج پست لایک کند و این یعنی، ربات کلا ۱۰ پست را لایک میکند. پس از اجرای کد، آنچه در زیر مشاهده میکنید به وقوع خواهد پیوست.
INFO [2019-12-17 22:15:58] [username] Tag [1/2] INFO [2019-12-17 22:15:58] [username] --> b'bmw' INFO [2019-12-17 22:16:07] [username] desired amount: 14 | top posts [disabled]: 9 | possible posts: 43726739 INFO [2019-12-17 22:16:13] [username] Like# [1/14] INFO [2019-12-17 22:16:13] [username] https://www.instagram.com/p/B6MCcGcC3tU/ INFO [2019-12-17 22:16:15] [username] Image from: b'mattyproduction' INFO [2019-12-17 22:16:15] [username] Link: b'https://www.instagram.com/p/B6MCcGcC3tU/' INFO [2019-12-17 22:16:15] [username] Description: b'Mal etwas anderes \xf0\x9f\x91\x80\xe2\x98\xba\xef\xb8\x8f Bald ist das komplette Video auf YouTube zu finden (n\xc3\xa4here Infos werden folgen). Vielen Dank an @patrick_jwki @thehuthlife und @christic_ f\xc3\xbcr das bereitstellen der Autos \xf0\x9f\x94\xa5\xf0\x9f\x98\x8d#carporn#cars#tuning#bagged#bmw#m2#m2competition#focusrs#ford#mk3#e92#m3#panasonic#cinematic#gh5s#dji#roninm#adobe#videography#music#bimmer#fordperformance#night#shooting#' INFO [2019-12-17 22:16:15] [username] Location: b'K\xc3\xb6ln, Germany' INFO [2019-12-17 22:16:51] [username] --> Image Liked! INFO [2019-12-17 22:16:56] [username] --> Not commented INFO [2019-12-17 22:16:57] [username] --> Not following INFO [2019-12-17 22:16:58] [username] Like# [2/14] INFO [2019-12-17 22:16:58] [username] https://www.instagram.com/p/B6MDK1wJ-Kb/ INFO [2019-12-17 22:17:01] [username] Image from: b'davs0' INFO [2019-12-17 22:17:01] [username] Link: b'https://www.instagram.com/p/B6MDK1wJ-Kb/' INFO [2019-12-17 22:17:01] [username] Description: b'Someone said cloud? \xf0\x9f\xa4\x94\xf0\x9f\xa4\xad\xf0\x9f\x98\x88 \xe2\x80\xa2\n\xe2\x80\xa2\n\xe2\x80\xa2\n\xe2\x80\xa2\n#bmw #bmwrepost #bmwm4 #bmwm4gts #f82 #bmwmrepost #bmwmsport #bmwmperformance #bmwmpower #bmwm4cs #austinyellow #davs0 #mpower_official #bmw_world_ua #bimmerworld #bmwfans #bmwfamily #bimmers #bmwpost #ultimatedrivingmachine #bmwgang #m3f80 #m5f90 #m4f82 #bmwmafia #bmwcrew #bmwlifestyle' INFO [2019-12-17 22:17:34] [username] --> Image Liked! INFO [2019-12-17 22:17:37] [username] --> Not commented INFO [2019-12-17 22:17:38] [username] --> Not following
کپی
کپی
به طور پیشفرض، InstaPy نُه پست اول را به انضمام تعدادی که در amount توسط کاربر برای آن مشخص شده است (در اینجا ۵ برای هر تگ) لایک میکند. بنابراین، برای هر تگ به طور کلی ۱۴ پست (۵ + ۹) لایک میشود. همچنین، InstaPy هر فعالیتی که انجام میدهد را در سوابق (Log) ثبت میکند. همانطور که در بالا مشهود است، اینستاپای مشخص میکند که ربات کدام پست (Post)، با چه لینکی (Link)، با چه توضیحاتی (Description) و در کدام موقعیت جغرافیایی (Location) را لایک کرده است. همچنین، اینکه ربات روی پست کامنت گذاشته و یا صاحب حساب کاربری را فالو کرده است را نیز ثبت میکند. اکنون، باید ربات را به گونهای تنظیم کرد که محتوای نامناسب را لایک نکند. برای اجتناب از وقوع این موضوع، میتوان یک لیست از تگهایی که ربات نباید پستهای دارای آنها را لایک کند، در اختیار ربات قرار داد.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5) session.set_dont_like(["naked", "nsfw"])
با اعمال این تغییرات روی ربات، دیگر پستهایی که در توضیحات خود دارای تگهای nsfw یا naked هستند، توسط ربات لایک نمیشوند. میتوان هر تگ دیگری را نیز به این لیست اضافه کرد. اکنون، میتوان به ربات گفت که نه تنها پستها را لایک کند، بلکه برخی از منتشر کنندگان آن پستها را نیز دنبال کند. این کار با استفاده از متد set_do_follow() قابل انجام است.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5) session.set_dont_like(["naked", "nsfw"]) session.set_do_follow(True, percentage=50)
در صورت اجرای اسکریپت، ربات پنجاه درصد از کاربرانی را که پستهای آنها را لایک کرده است، دنبال میکند. همانطور که پیشتر نیز بیان شد، سوابق کلیه فعالیتهای ربات، ثبت (Log) میشود. همچنین، میتوان ربات را به گونهای تنظیم کرد که برای پستها نظر نیز درج کند. در این راستا، باید دو کار انجام داد. اول آنکه باید قابلیت نظر گذاشتن را با استفاده از set_do_comment() فعال کرد.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5) session.set_dont_like(["naked", "nsfw"]) session.set_do_follow(True, percentage=50) session.set_do_comment(True, percentage=50)
در گام دوم، باید به ربات گفت که چه نظراتی را درج کند. این کار با استفاده از متد set_comments() انجام میشود.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5) session.set_dont_like(["naked", "nsfw"]) session.set_do_follow(True, percentage=50) session.set_do_comment(True, percentage=50) session.set_comments(["Nice!", "Sweet!", "Beautiful :heart_eyes:"])
با اجرای اسکریپت، ربات یکی از سه نظری که به آن داده شده است را روی نیمی از پستهایی که با آنها تعامل دارد درج میکنند. اکنون که تنظیمات اولیه انجام شد، میتوان جلسه (Session) را با استفاده از end() پایان داد.
from instapy import InstaPy session = InstaPy(username="<your_username>", password="<your_password>") session.login() session.like_by_tags(["bmw", "mercedes"], amount=5) session.set_dont_like(["naked", "nsfw"]) session.set_do_follow(True, percentage=50) session.set_do_comment(True, percentage=50) session.set_comments(["Nice!", "Sweet!", "Beautiful :heart_eyes:"]) session.end()
این قطعه کد، موجب میشود که مرورگر بسته، سوابق (Logs) ذخیره و یک گزارش آماده شود که میتوان آن را در خروجی کنسول دید.
This media is not supported in your browser
VIEW IN TELEGRAM