python_developer
1.54K subscribers
3.74K photos
1.97K videos
232 files
434 links
کانال اموزش پایتون @Real_developer
تبلیغات پذیرفته میشود.
Download Telegram
باید به مقدار بازگردانده شده توسط go_to_log_in_page()‎ توجه داشت. اگر کلاس دیگری به نام FeedPage وجود داشت، تابع login()‎ از کلاس LoginPage نمونه‌ای از آن را (return FeedPage()‎) باز می‌گرداند. در ادامه، چگونگی استفاده از Page Object Pattern نمایش داده شده است.
اکنون کد بهبود یافته است و تست بالا را می‌توان به صورت زیر بازنویسی کرد.
با تغییرات انجام شده در کدها، حتی در صورتی که تغییراتی در رابطه کاربری برنامه اتفاق بیفتد، دیگر نیازی به تغییر کدهای تست نیست. اکنون که مفهوم و چگونگی کار با سلنیوم (Selenium) و Page Object Pattern تشریح و شفاف شد، می‌توان به آموزش ساخت ربات اینستاگرام با پایتون پرداخت. اما پیش از ارائه آموزش ساخت ربات اینستاگرام با پایتون ابزار اینستاپای (Instapy) به طور اجمالی مورد بررسی قرار خواهد گرفت.
This media is not supported in your browser
VIEW IN TELEGRAM
آشنایی با InstaPy

«اینستاپای» (InstaPy) بزرگ‌ترین و محبوب‌ترین ابزار خودکارسازی موجود برای اینستاگرام به شمار می‌آید که به به صورت رایگان در دسترس است. طیف وسیعی از ویژگی‌ها وجود دارد که منجر شده‌اند اینستا به ابزاری درجه یک برای افزایش تعداد دنبال کنندگان در اینستاگرام مبدل شود. در بخش بعدی، آموزش ساخت ربات اینستاگرام با پایتون و اینستاپای ارائه می‌شود.
آموزش ساخت ربات اینستاگرام با پایتون و InstaPy

در این بخش، آموزش ساخت ربات اینستاگرام با پایتون و ابزار اینستاپای ارائه شده است. این ربات می‌تواند به صورت خودکار لایک بزند، افراد را دنبال و برای پست‌های مختلف نظر درج کند. در این راستا، ابتدا باید اینستاپای را نصب کرد. دستور زیر کار نصب اینستاپای (InstaPy) را انجام می‌دهد.
$ python3 -m pip install instapy
ویژگی‌های اساسی اینستاپای

اکنون، می‌توان کد بالا را با استفاده از InstaPy بازنویسی کرد تا بتوان دو گزینه ممکن را با هم مقایسه کرد. ابتدا باید فایل پایتون دیگری ساخته و قطعه کد زیر در آن وارد شود.
from instapy import InstaPy InstaPy(username="<your_username>", password="<your_password>").login(
در کد بالا، تنها نیاز به جایگذاری نام کاربری و رمز عبور است و پس از آن، همین دو خط کد کاری را انجام می‌دهد که کدهای قبلی انجام می‌دادند. با وجود آنکه نتایج این دو قطعه کد مشابه با یکدیگر است، ساز و کار به وقوع پیوسته در آن‌ها شبیه به هم نیست. علاوه بر وارد شدن به پروفایل، اینستاپای کارهای دیگری مانند بررسی اتصال اینترنت و بررسی وضعیت سرورهای اینستاگرام را انجام می‌دهد. این مورد به طور مستقیم در مرورگر یا در سوابق (Log) قابل مشاهده است.

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

کپی