我已经用python3创建了这个控制台脚本,它使用的是 requests
模块从网站中提取信息 https:/api.warframestat.usps4fissures。 但我想运行这个247,而不是在我的电脑上,是否可以在网上进行这个计算?我的程序每分钟都会执行自己的程序,因为网站会改变它的信息。顺便说一下,我是编程新手,我知道我的问题对你们中的一些人来说是微不足道的。
我还没有添加发送邮件的功能,我以后会做的。
我的代码。
import JSON
import requests
import time
url = 'https://api.warframestat.us/ps4/fissures'
current_survivals = [] # hold current survivals until new once appear
ids_sent = []
while True:
raw_data = requests.get(url)
fissures_data = json.loads(raw_data.text)
# I have to clear to get rid of the old id's
current_survivals.clear()
print()
for x in fissures_data:
print(x['missionType'])
print()
# add
for mission in fissures_data:
if mission['missionType'] == 'Capture':
# add to current_survivals
current_survivals.append(mission['id'])
# Makes sure not to send an email twice
for x in current_survivals:
if x in ids_sent:
print("Email already sent.")
else:
ids_sent.append(x)
print("Send Email")
# send an email
print("Current_survivals: " + str(current_survivals))
print("ids_sent: " + str(ids_sent) + "\n")
time.sleep(60) #will run agian after 1 minute
要想让它a)不在你的计算机上运行,b)每分钟运行一次,也许最好的方法是使用AWS lambda(或Azure等上的等价物)。
你需要设置一个AWS账户,配置一个lambda等等,等等--所以有点学习曲线,但这似乎是最简单的方法。
另一种方法是使用云服务器(例如AWS服务器实例),但要让它每分钟运行一次,你就必须处理(并学习)cron,或者让你的代码沉睡一分钟然后再尝试。 但在这种情况下,你还需要担心正常运行时间,以及一些系统来确保你的脚本正确工作,正确启动等等等等。