循环直到某个时间然后循环下一段代码

Loop until certain time then loop next bit of code

我有一个喜欢基于 Hashtag 的 instagram 图片的机器人。喜欢循环中包含的特定主题标签集的代码。我希望它喜欢从早上 7 点开始的一组主题标签 - 11:30pm,然后从 11:30pm - 早上 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:30pm 然后让我知道在哪里为第二个循环添加第二组主题标签。我将不胜感激。

大量的宣传,希望一切都有意义。

我稍微编辑了你的核心循环,它应该可以工作。定义两个列表,一个包含一个时间段的主题标签,另一个包含另一个时间段的主题标签。在 while 循环的每次迭代中,获取当前日期时间,然后从中提取小时,然后对小时进行 if 检查,以根据当前时间将正确的主题标签放入 tags_to_use 列表中,然后使用该列表。一个小问题是我认为 now.hour 是一个整数,所以它不支持 11:30pm 时间,我将它设置为 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)