【发布时间】:2020-09-04 14:05:26
【问题描述】:
我正在制作一个脚本,每个小时都会在 Twitter 上发布每个冠状病毒病例。我已经完成了,但我不知道如何让它每小时发布一次。任何想法? (如果您可以将以下脚本与解决方案一起发布将是完美的)
import sys
CONSUMER_KEY = 'XXXX'
CONSUMER_SECRET = 'XXXX'
ACCESS_TOKEN = 'XXXX'
ACCESS_TOKEN_SECRET = 'XXXX'
import tweepy
import requests
from lxml import html
def create_tweet():
response = requests.get('https://www.worldometers.info/coronavirus/')
doc = html.fromstring(response.content)
total, deaths, recovered = doc.xpath('//div[@class="maincounter-number"]/span/text()')
tweet = f'''Coronavirus Latest Updates
Total cases: {total}
Recovered: {recovered}
Deaths: {deaths}
Source: https://www.worldometers.info/coronavirus/
#coronavirus #covid19 #coronavirusnews #coronavirusupdates #COVID19
'''
return tweet
if __name__ == '__main__':
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
# Create API object
api = tweepy.API(auth)
try:
api.verify_credentials()
print('Authentication Successful')
except:
print('Error while authenticating API')
sys.exit(5)
tweet = create_tweet()
api.update_status(tweet)
print('Tweet successful')
【问题讨论】:
-
你运行的是什么操作系统?在 linux 上,答案是使用
cron。如果需要python解决方案,可以使用time.wait(3600)函数等待1h(3600秒)。 -
我正在运行窗口
-
是的,我试过 time.wait(3600) 但它只是在应用程序执行脚本时关闭窗口(发布推文)
-
好吧,试试stackoverflow.com/questions/4249542/…?抱歉,我无法测试它。
-
签出 cronjobs。这将是一个理想的方式