我有一个喜欢基于Hashtag的instagram图片的机器人。该代码喜欢循环中包含的特定主题标签集。我想从早上7点至晚上11:30,然后从晚上11:30至上午7点,从一组特定的标签开始,就像在另一个循环中使用另一段代码的另一组标签一样。该机器人随后将以24/7运行。
到目前为止,机器人的代码是这样,它只喜欢一组特定的主题标签,我需要添加第二部分代码:
import os
import time
import random
from instapy import InstaPy
from instapy import smart_run
like_tag_list = ['hashtag1','hashtag2','hashtag3']
insta_username = '########'
insta_password = '########'
session = InstaPy(username=insta_username,
password=insta_password,
headless_browser=True)
#multi_logs=True)
session.login()
try:
while True:
# actions
session.like_by_tags(like_tag_list, amount=9, interact=True)
session.unfollow_users(amount=random.randint(75, 100),
InstapyFollowed=(True, "nonfollowers"),
style="FIFO",
unfollow_after=8 * 60 * 60, sleep_delay=600)
#session.unfollow_users(amount=random.randint(75, 150),
#InstapyFollowed=(True, "all"), style="FIFO",
#unfollow_after=24 * 60 * 60, sleep_delay=501)
finally:
有人可以帮助我让该机器人从早上7点至晚上11:30循环第一部分代码,然后让我知道在第二循环中添加第二组主题标签的位置。我会非常感激的。
巨大的模糊效果,希望一切都有道理。
答案 0 :(得分:1)
我对您的核心循环进行了一些编辑,它应该可以正常工作。定义两个列表,一个列出一个时间段的标签,另一个列出另一个时间段的标签。在while循环的每次迭代中,获取当前日期时间,然后再从中提取小时,并检查是否将基于该当前时间的正确主题标签放在小时上,然后使用tag_to_use列表。一个小问题是,我相信now.hour是一个整数,因此它将不支持晚上11:30的时间,我将其设置为24,所以它将是从上午7点到午夜。
import datetime
like_tag_list1 = ['hashtag1','hashtag2','hashtag3']
like_tag_list2 = ['hashtag3','hashtag4','hashtag5']
while True:
now = datetime.datetime.now()
if now.hour >= 7 and now.hour < 24:
tags_to_use = like_tag_list1
else:
tags_to_use = like_tag_list2
session.like_by_tags(tags_to_use, amount=9, interact=True)
session.unfollow_users(amount=random.randint(75, 100),
InstapyFollowed=(True, "nonfollowers"),
style="FIFO",
unfollow_after=8 * 60 * 60, sleep_delay=600)