[ Day 06 ] 用 InstaPy 打造 Instagram Bot 吧


原本計畫寫 telegram x Laravel,但最近研究 Instagram Bot 覺得很有趣,就直接改寫此主題。記得在前公司工作的時候,絞盡腦汁研究如何提高 Instagram 帳號的 follower,那時候剛好查到這篇文章:My open source Instagram bot got me 2,500 real followers for $5 in server costs,內容大致上是作者用自己開發的 Script 主動對相關 tag 的 user、相關 account 的 follower 進行互動,只花費了 $5 美元 server 費用就獲得 2500 追蹤。

當時看完覺得蠻有趣的,就把它 clone 回來試試看。InstaPy 是用 Selenium 來操作 Instagram 帳號做到 like, follow, comment 這些功能 ( 我記得當時查了 Instagram 的官方文件,沒有相關的 api 可供使用 ),另外會儲存 cookie 幫助下次不需再輸入帳號密碼登入,也會存一些 log,像是哪些用戶已經 follow 過了,來讓機器人不會頻繁去 follow 他。

最近因為在幫忙推廣一個 IG 帳號,又重新回去研究,發現多了很多新的東西,像是 Dashboard, GUI, 還有一些之前沒有的 api。這次想分享我如何使用此工具:

下載 project

在 terminal 輸入 git clone https://github.com/timgrossmann/InstaPy.git

config 設定

開啟專案的 quickstart.py,找到 session = InstaPy(),在 InstaPy() 寫入 Instagram 帳號及密碼:

session = InstaPy(username="account username", password="password")

動作設定

接下來基本上只要參考官方 doc 的 api 並加在下方後,在 terminal 輸入 python quickstart.py 即可以開始運行。

with smart_run(session):
    # general settings
    session.set_dont_include(["friend1", "friend2", "friend3"])

    # activity
    session.like_by_tags(["natgeo"], amount=10)

分享一下我的使用方法

我常用的方法是透過自定義一組相關帳號的陣列 follow_list,然後開始執行:

  1. 追蹤帳號的 follower
  2. 追蹤帳號 following 的 user
  3. 設定追蹤按過照片讚的 user
  4. 設定追蹤有留言過的 user
    實驗了一下獲得的數據反饋是有 20% 被追蹤的 user 反過來追蹤我的 Instagram 帳號,猜測因為是挑選了跟自己帳號相關, TA 相近,所以被追蹤的機會也較高。
with smart_run(session):
    session.follow_user_followers(follow_list, amount=200, randomize=False)
    session.follow_user_following(follow_list, amount=200, randomize=False)
    session.set_user_interact(amount=2, percentage=70, randomize=True, media='Photo')
    session.follow_likers(follow_list, photos_grab_amount = 2, follow_likers_per_photo = 3, randomize=True, sleep_delay=600, interact=True)    
    session.follow_commenters(follow_list, amount=200, daysold=365, max_pic = 100, sleep_delay=600, interact=False)
    session.unfollow_users(amount=200, nonFollowers=True, style="RANDOM", unfollow_after=42*60*60, sleep_delay=655)
    session.end()

總結

透過原作者的實驗,我覺得 InstaPy 確實是自動化增長 follower 的一種可嘗試方式,研究後也覺得此專案很有趣。下一集會跟大家分享如何將 InstaPy Docker 化,再請大家有興趣可以持續關注!

#Python #instapy #instagram #Bot
此系列並沒有設定特定的主題,會將一些工作上、或平常開發 side project 的研究、發現、心得記錄下來。 希望能幫助到有遇到相同需求、相同問題的朋友,一同交流學習。






Related Posts

JavaScript 設計模式:單體模式 ( Singleton )

JavaScript 設計模式:單體模式 ( Singleton )

Day02 典型統計應用在社群媒體分析(Classical statistics applied to social data) part 2

Day02 典型統計應用在社群媒體分析(Classical statistics applied to social data) part 2

用 JavaScript 學習資料結構和演算法:佇列(Queue)篇

用 JavaScript 學習資料結構和演算法:佇列(Queue)篇



Comments