【问题标题】:Loop until certain time then loop next bit of code循环直到特定时间然后循环下一位代码
【发布时间】:2019-10-10 10:52:35
【问题描述】:

我有一个机器人,它喜欢基于 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 循环第一部分代码,然后让我知道在哪里为第二个循环添加第二组主题标签。我会非常感激的。

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

【问题讨论】:

  • 请修正你所有的缩进...男人就是这么难读。
  • 对不起,我知道这是一团糟

标签: python python-3.x instagram bots


【解决方案1】:

我稍微编辑了您的核心循环,它应该可以工作。定义两个列表,一个包含一个时间段的主题标签,另一个包含另一个时间段的主题标签。在 while 循环的每次迭代中,在从中提取小时之前获取当前日期时间,并对小时进行 if 检查,以根据当前时间在 tags_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)

【讨论】:

  • if 可以细化为if 7 &lt;= now.hour &lt; 24:
  • 哇,非常感谢你们。惊人的实现,我会试一试。
猜你喜欢
  • 2022-08-14
  • 2023-01-08
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多