|
|
@@ -77,17 +77,16 @@ def init_data():
|
|
|
|
|
|
|
|
|
def main():
|
|
|
-
|
|
|
+ headers = {
|
|
|
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299',
|
|
|
+ 'Accept-Language': 'en-US,en;q=0.8',
|
|
|
+ 'Accept-Encoding': 'gzip, deflate, br',
|
|
|
+ 'Connection': 'keep-alive',
|
|
|
+ }
|
|
|
day_data = DayData.objects.filter(id__gte=904)
|
|
|
for day_obj in day_data:
|
|
|
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}"
|
|
|
- headers = {
|
|
|
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299',
|
|
|
- 'Accept-Language': 'en-US,en;q=0.8',
|
|
|
- 'Accept-Encoding': 'gzip, deflate, br',
|
|
|
- 'Connection': 'keep-alive',
|
|
|
- }
|
|
|
today_response = requests.get(today_url, headers=headers, timeout=5)
|
|
|
try:
|
|
|
if today_response.status_code == 200:
|
|
|
@@ -113,12 +112,22 @@ def main():
|
|
|
for server_day_obj in server_days:
|
|
|
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_response = requests.get(server_day_url, timeout=5)
|
|
|
+ server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
|
try:
|
|
|
- server_day_data = json.loads(server_day_response.text)
|
|
|
- if "errcode" not in server_day_data.keys():
|
|
|
- server_day_obj.content = str(server_day_data)
|
|
|
- server_day_obj.save()
|
|
|
+ if server_day_response.status_code == 200:
|
|
|
+ server_day_data = json.loads(server_day_response.text)
|
|
|
+ if "errcode" not in server_day_data.keys():
|
|
|
+ server_day_obj.content = str(server_day_data)
|
|
|
+ server_day_obj.save()
|
|
|
+ else:
|
|
|
+ logging.warning(f"cityid {day_obj.cityid} error_code {server_day_response.status_code}")
|
|
|
+ logging.warning(f"request fail again : {server_day_obj.cityid}")
|
|
|
+ server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
|
|
|
+ if server_day_response.status_code == 200:
|
|
|
+ server_day_data = json.loads(server_day_response.text)
|
|
|
+ if "errcode" not in server_day_data.keys():
|
|
|
+ server_day_obj.content = str(server_day_data)
|
|
|
+ server_day_obj.save()
|
|
|
except Exception as e:
|
|
|
logging.warning(f"cityid {server_day_obj.cityid} error {e} {server_day_response.text}")
|
|
|
time.sleep(random.randint(1, 5))
|