【问题标题】:How do I make this bot run continuously?如何让这个机器人连续运行?
【发布时间】:2022-01-27 10:03:26
【问题描述】:

脚本在 100 个项目后停止,然后我必须重新运行 它手动。我怎样才能自动化这个并拥有脚本 自动重新运行?

#IMPORT LIBRARIES 
import tweepy
import time

# API KEYS AND TOKENS
api_key= "API KEY GOES IN HERE"
api_key_secret = "API SECRET KEY GOES IN HERE"
access_token = "ACCESS TOKEN GOES HERE"
access_token_secret = "SECRET ACCESS TOKEN GOES HERE"

# AUTHENTICATING TWITTER
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token , access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)

# HASHTAG AND NUMBER OF ITEMS
hashtag = "#AmisomOut"
tweet_number = 100

# THE CURSOR METHOD
tweets = tweepy.Cursor(api.search, hashtag).items(tweet_number)


def searchBot():
    for tweet in tweets:
        try:
            tweet.retweet()
            print("retweet done!")
            time.sleep(2)
        except tweepy.TweepError as e:
            print(e.reason)
            time.sleep(15)

searchBot()

【问题讨论】:

  • while True: searchBot()替换searchBot()?
  • 如果您想定期运行它 - 即。每隔几分钟 - 然后你可以在一些 task manager 中运行它。在 Linux 上,您可以使用 cron

标签: python bots tweepy


【解决方案1】:

将您想要重复的代码放在while 循环中将使其无限重复。在这种情况下,您似乎只需要重复一些代码即可获得所需的结果。

首先,定义您的 searchBot 函数,然后将以下行放入循环中:

while True:
    tweets = tweepy.Cursor(api.search, hashtag).items(tweet_number)
    searchBot()

这将一直持续到您手动退出程序,方法是退出终端窗口或按 ctrl+c。

【讨论】:

    【解决方案2】:

    您可以使用crontab 按计划运行任务。

    假设您使用的是 Linux/MacOS 并且文件名为 searchbot.py

    在终端输入EDITOR=nano crontab -e

    这将打开您的 crontab 文件。它将在给定的时间安排运行 bash 命令。我给出的示例是每 5 分钟一次。

    */5 * * * * python3 searchbot.py
    

    CTRL+X 保存并退出文件。

    您可以输入crontab -l 以确认更改已写入。

    您可以使用https://crontab.guru/ 制定自己的日程安排并了解格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 2019-08-26
      • 1970-01-01
      相关资源
      最近更新 更多