Example #1
0
def get_weather(city):
    appid = ""
    private_key = ""
    areas = Area.objects.all()
    for area in areas:
        areaid = area.areaid
        weather_type = 'forecast_f'
        date = datetime.datetime.now().strftime("%Y%m%d%H%M")
        pub_url = "http://open.weather.com.cn/data/?areaid="+areaid+"&type="+weather_type+"&date="+date
        public_key = pub_url+"&appid="+appid
        pkey = base64.b64encode(hmac.new(private_key, public_key, digestmod=hashlib.sha1).digest())
        key = urllib.quote(pkey)
        url = pub_url+"areaid=101010100&type=index_v&date=201507192100&appid="+appid[:6]+"&key="+key
        data = json.loads(urllib2.urlopen(url).read())
        city = Weather()
        city.area_id = areaid
        city.pub_time = data['f']['f0']
        city.day_weather_1 = get_weather_weather(data['f']['f1'][0]['fa'])
        city.night_weather_1 = get_weather_weather(data['f']['f1'][0]['fb'])
        city.day_temp_1 = data['f']['f1'][0]['fc']
        city.night_temp_1 = data['f']['f1'][0]['fd']
        city.day_wd_1 = get_weather_wd(data['f']['f1'][0]['fe'])
        city.night_wd_1 = get_weather_wd(data['f']['f1'][0]['ff'])
        city.day_ws_1 = get_weather_wd(data['f']['f1'][0]['fg'])
        city.night_ws_1 = get_weather_wd(data['f']['f1'][0]['fh'])
        city.day_weather_2 = get_weather_weather(data['f']['f1'][1]['fa'])
        city.night_weather_2 = get_weather_weather(data['f']['f1'][1]['fb'])
        city.day_temp_2 = get_weather_temp(data['f']['f1'][1]['fc'])
        city.night_temp_2 = get_weather_temp(data['f']['f1'][1]['fd'])
        city.day_wd_2 = get_weather_wd(data['f']['f1'][1]['fe'])
        city.night_wd_2 = get_weather_wd(data['f']['f1'][1]['ff'])
        city.day_ws_2 = get_weather_wd(data['f']['f1'][1]['fg'])
        city.night_ws_2 = get_weather_wd(data['f']['f1'][1]['fh'])
        city.day_weather_3 = get_weather_weather(data['f']['f1'][2]['fa'])
        city.night_weather_3 = get_weather_weather(data['f']['f1'][2]['fb'])
        city.day_temp_3 = get_weather_temp(data['f']['f1'][2]['fc'])
        city.night_temp_3 = get_weather_temp(data['f']['f1'][2]['fd'])
        city.day_wd_3 = get_weather_wd(data['f']['f1'][2]['fe'])
        city.night_wd_3 = get_weather_wd(data['f']['f1'][2]['ff'])
        city.day_ws_3 = get_weather_wd(data['f']['f1'][2]['fg'])
        city.night_ws_3 = get_weather_wd(data['f']['f1'][2]['fh'])
        city.sun_rise = get_weather_sunrise(data['f']['f1'][0]['fi'])
        city.sun_set = get_weather_sunset(data['f']['f1'][0]['fi'])