|
@@ -1,3 +1,4 @@
|
|
|
|
|
+from datetime import datetime
|
|
|
import requests
|
|
import requests
|
|
|
import sqlite3
|
|
import sqlite3
|
|
|
import json
|
|
import json
|
|
@@ -85,11 +86,15 @@ def main():
|
|
|
}
|
|
}
|
|
|
day_data = DayData.objects.all()
|
|
day_data = DayData.objects.all()
|
|
|
today_error = 0
|
|
today_error = 0
|
|
|
|
|
+ # 调用次数统计
|
|
|
|
|
+ day_ct = 0
|
|
|
|
|
+ start_ct_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
for day_obj in day_data:
|
|
for day_obj in day_data:
|
|
|
time_out = False
|
|
time_out = False
|
|
|
logging.warning(day_obj.cityid)
|
|
logging.warning(day_obj.cityid)
|
|
|
today_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v62&appid=69334222&appsecret=2ME6U58N&cityid={day_obj.cityid}"
|
|
today_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v62&appid=69334222&appsecret=2ME6U58N&cityid={day_obj.cityid}"
|
|
|
today_response = requests.get(today_url, headers=headers, timeout=5)
|
|
today_response = requests.get(today_url, headers=headers, timeout=5)
|
|
|
|
|
+ day_ct += 1
|
|
|
try:
|
|
try:
|
|
|
if today_response.status_code == 200:
|
|
if today_response.status_code == 200:
|
|
|
today_data = json.loads(today_response.text)
|
|
today_data = json.loads(today_response.text)
|
|
@@ -101,6 +106,7 @@ def main():
|
|
|
logging.warning(f"request fail again : {day_obj.cityid}")
|
|
logging.warning(f"request fail again : {day_obj.cityid}")
|
|
|
time.sleep(2)
|
|
time.sleep(2)
|
|
|
today_response = requests.get(today_url, headers=headers, timeout=5)
|
|
today_response = requests.get(today_url, headers=headers, timeout=5)
|
|
|
|
|
+ day_ct += 1
|
|
|
if today_response.status_code == 200:
|
|
if today_response.status_code == 200:
|
|
|
today_data = json.loads(today_response.text)
|
|
today_data = json.loads(today_response.text)
|
|
|
if "errcode" not in today_data.keys():
|
|
if "errcode" not in today_data.keys():
|
|
@@ -118,17 +124,22 @@ def main():
|
|
|
time.sleep(5)
|
|
time.sleep(5)
|
|
|
else:
|
|
else:
|
|
|
time.sleep(2)
|
|
time.sleep(2)
|
|
|
|
|
+ with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f:
|
|
|
|
|
+ f.write(f"开始时间:{start_ct_time} 结束时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 调用次数:{day_ct}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
server_error = 0
|
|
server_error = 0
|
|
|
logging.warning("up server day ...")
|
|
logging.warning("up server day ...")
|
|
|
|
|
+ server_ct = 0
|
|
|
server_days = ServerDayData.objects.all()
|
|
server_days = ServerDayData.objects.all()
|
|
|
|
|
+ server_start_ct_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
for server_day_obj in server_days:
|
|
for server_day_obj in server_days:
|
|
|
time_out_k = False
|
|
time_out_k = False
|
|
|
logging.warning(server_day_obj.cityid)
|
|
logging.warning(server_day_obj.cityid)
|
|
|
server_day_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v91&appid=69334222&appsecret=2ME6U58N&cityid={server_day_obj.cityid}&ext=hours,aqi,life"
|
|
server_day_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v91&appid=69334222&appsecret=2ME6U58N&cityid={server_day_obj.cityid}&ext=hours,aqi,life"
|
|
|
server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
|
|
|
+ server_ct += 1
|
|
|
try:
|
|
try:
|
|
|
if server_day_response.status_code == 200:
|
|
if server_day_response.status_code == 200:
|
|
|
server_day_data = json.loads(server_day_response.text)
|
|
server_day_data = json.loads(server_day_response.text)
|
|
@@ -140,6 +151,7 @@ def main():
|
|
|
logging.warning(f"cityid {day_obj.cityid} error_code {server_day_response.status_code}")
|
|
logging.warning(f"cityid {day_obj.cityid} error_code {server_day_response.status_code}")
|
|
|
logging.warning(f"request fail again : {server_day_obj.cityid}")
|
|
logging.warning(f"request fail again : {server_day_obj.cityid}")
|
|
|
server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
|
|
|
+ server_ct += 1
|
|
|
if server_day_response.status_code == 200:
|
|
if server_day_response.status_code == 200:
|
|
|
server_day_data = json.loads(server_day_response.text)
|
|
server_day_data = json.loads(server_day_response.text)
|
|
|
if "errcode" not in server_day_data.keys():
|
|
if "errcode" not in server_day_data.keys():
|
|
@@ -157,7 +169,8 @@ def main():
|
|
|
time.sleep(5)
|
|
time.sleep(5)
|
|
|
else:
|
|
else:
|
|
|
time.sleep(2)
|
|
time.sleep(2)
|
|
|
-
|
|
|
|
|
|
|
+ with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f:
|
|
|
|
|
+ f.write(f"开始时间:{server_start_ct_time} 结束时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 调用次数:{server_ct}")
|
|
|
|
|
|
|
|
|
|
|
|
|
"""
|
|
"""
|