我正在运行一个Instagram测试机器人作为学校项目。
但是,我尝试在每次操作之间增加一些睡眠时间(跟随+喜欢)。
机器人在执行第一个操作后便进入睡眠状态,然后停止工作。
import argparse
import os
import sys
import time
from tqdm import tqdm
sys.path.append(os.path.join(sys.path[0], '../'))
from instabot import Bot
parser = argparse.ArgumentParser(add_help=True)
parser.add_argument('-u', type=str, help="username")
parser.add_argument('-p', type=str, help="password")
parser.add_argument('-proxy', type=str, help="proxy")
parser.add_argument('users', type=str, nargs='+', help='users')
args = parser.parse_args()
bot = Bot()
bot.login(username=args.u, password=args.p,
proxy=args.proxy)
for username in args.users:
medias = bot.get_user_medias(username, filtration=False)
if len(medias):
likers = bot.get_media_likers(medias[0])
for liker in tqdm(likers):
bot.like_user(liker, amount=1)
followed= bot.follow(liker)
while(follow):
time.sleep(60)
我希望能够在机器人首次进入睡眠状态后使其保持运行状态。
有什么建议吗?
答案 0 :(得分:0)
我没有instagram,所以我无法对其进行测试,但是我看到的代码中几乎没有问题。
第一个是您只获取最后一个用户的媒体。它可以通过以下方式解决:
medias = []
for username in args.users:
medias += bot.get_user_medias(username, filtration=False)
然后类似的想法出现在喜欢者身上
likers = []
for media in medias:
likers += bot.get_media_likers(media)
然后向您提出实际问题。您喜欢点赞和跟随,而不是在两者之间。而且您可以将它循环使用,而您永不中断。因此,如果您想在点赞之后等待并关注,然后执行以下操作:
for liker in tqdm(likers):
bot.like_user(liker, amount=1)
followed = bot.follow(liker)
time.sleep(60)