yf_yzl 2 years atrás
parent
commit
0a39871415
1 changed files with 12 additions and 17 deletions
  1. 12 17
      crond_script/crond_weather.py

+ 12 - 17
crond_script/crond_weather.py

@@ -67,43 +67,38 @@ def init_data():
     # 导入全部的城市
     for k in all_city:
         print(k, "-------------")
-        District.objects.get_or_create(
-            city_id=k[0],
-            defaults={
-                "city_id": k[0],
-                "city": k[1],
-                "pid": str(k[2])
-            }
-        )
+        district = District()
+        district.city_id = str(k[0])
+        district.city = k[1]
+        district.pid = str(k[2])
+        district.save()
     
 
 def main():
     district = District.objects.all() 
     init_data()
-    # if not district:
-    #     init_data()
     logging.warning("up...")
-    results = District.objects.filter(id__gt = 65)
+    results = District.objects.filter(id__gt = 65).filter(id__lt = 70)
     # 更新数据
     for row in results:
         temp = row.city   # 东城区
-        id = row.id       # 110101000000
+        city_id = row.city_id       # 110101000000
         pid = row.pid     # 110100000000
-        if len(str(pid)) == 2:
+        if pid == 2:
             # 处理 省 市 样例
             city = temp 
             district = ""
         else:
             te = District.objects.filter(pid=pid).first()
-            city = te[0] 
+            city = te.city
             district = temp
             if city == "市辖区":
                 city = district
                 district = ""
-        province_id = (str(row.id))[:2]
+        province_id = city_id[:2]
         province = province_dict.get(province_id)
         try:
-            today_url = f"https://v0.yiketianqi.com/api?unescape=1&version=v62&appid={app_id}&appsecret={app_secret}&adcode={id}"
+            today_url = f"https://v0.yiketianqi.com/api?unescape=1&version=v62&appid={app_id}&appsecret={app_secret}&adcode={city_id}"
             today_response = requests.get(today_url, timeout=5)
             today_data = json.loads(today_response.text)
             print("today_data")
@@ -119,7 +114,7 @@ def main():
                         "content": str(today_data)
                     }
                 )
-            server_day_url = f"https://v0.yiketianqi.com/api?unescape=1&version=v91&appid={app_id}&appsecret={app_secret}&adcode={id}&ext=hours,aqi,life"
+            server_day_url = f"https://v0.yiketianqi.com/api?unescape=1&version=v91&appid={app_id}&appsecret={app_secret}&adcode={city_id}&ext=hours,aqi,life"
             server_day_response = requests.get(server_day_url, timeout=5)
             server_day_data = json.loads(server_day_response.text)
             print("server today_data")