˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 14:19:30

ÇóÖú ¾È¾Èº¢×Ó°É

import requests

#»ñÈ¡³ÇÊÐÒÔ¼°¶ÔÓ¦µÄadcode
def get_city():
   
    #È·¶¨url
    base_url = 'https://www.amap.com/service/cityList?'
    # ·¢ËÍÇëÇó
    response = requests.get(base_url,headers=headers)
    # print(response.text)
   
    #½âÎöjsonÊý¾Ý
    json_data = response.json()
    # print(json_data) µÃµ½µÄjsonÊý¾Ý·Åµ½ÔÚÏßjson½âÎöÍøÕ¾ÖУ¬·½±ã·ÖÎö½á¹¹
   
    #»ñÈ¡adcode
    #ÈÈÃųÇÊÐ
    city_adcode = []
    zd=json_data["data"]["cityData"]["provinces"]
    for x in zd:
      if len(zd["cities"])>0 :
            city_adcode.append((zd["adcode"],zd["cities"]["name"],zd["x"],zd["y"]))
      else:   
            city_adcode.append((zd["adcode"],zd["name"],zd["x"],zd["y"]))
    return city_adcode
def get_weather(adcode,city_name,X,Y):
    '''
    »ñÈ¡³ÇÊÐÌìÆø

    '''
    #»ù´¡url
    base_url = 'https://www.amap.com/service/weather?adcode={}'.format(adcode)
    response = requests.get(base_url, headers=headers)#·¢ËÍÇëÇ󣬻ñÈ¡ÏìÓ¦
    json_data = response.json()#»ñÈ¡jsonÊý¾Ý
    #ͨ¹ýµÃµ½µÄjsonÊý¾Ý£¬ÔÚÔÚÏß½âÎöÍøÕ¾ÖнâÎöºó£¬·ÖÎöÆä½á¹¹£¬ÕÒµ½Òª»ñÈ¡µÄÔÚÄÄÒ»¸ö×Öµä»òÕßÁбíÁбí
    #·Ö²ãµÄÈ¡³öÀ´¼´¿É
    if json_data['data']['result']=='true':
      weather = json_data['data']['data']['forecast_data']['weather_name']#µ±Ç°ÌìÆø
      #×î´óζÈ
      max_temp = json_data['data']['data']['forecast_data']['max_temp']
      #×îСζÈ
      min_temp = json_data['data']['data']['forecast_data']['min_temp']
      t_weather = json_data['data']['data']['forecast_data']['weather_name']#Ã÷ÌìÌìÆø
      #×î´óζÈ
      t_max_temp = json_data['data']['data']['forecast_data']['max_temp']
      #×îСζÈ
      t_min_temp = json_data['data']['data']['forecast_data']['min_temp']
      # print(weather, max_temp, min_temp)
      dic = {}
      dic['³ÇÊÐ'] = city_name
      dic['adcode'] = adcode
      dic['X'] = X
      dic['Y'] = Y
      dic['ÌìÆø'] = weather
      dic['ζÈ'] = '{}/{}¡æ'.format(min_temp,max_temp)
      dic['Ã÷ÈÕÌìÆø'] = t_weather
      dic['Ã÷ÈÕζÈ'] = '{}/{}¡æ'.format(t_min_temp,t_max_temp)
      print(dic)
      
      

def main():
    city_adcode = get_city()
    # print(city_adcode)
    #½«Ã¿¸ö³ÇÊеÄadcode´«¸øget_weather
    #city_adcodeÓгÇÊкÍadcode
    for i in city_adcode:
      adcode = i
      city_name = i
      X = i
      Y = i
      get_weather(adcode,city_name,X,Y)


   
if __name__ == '__main__':
   
    headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537',
      'X-Requested-With': 'XMLHttpRequest',
    }
    main()


ΪɶÌáÈ¡µÄÖ»ÓÐֱϽÊÐ ÔõôÌáÈ¡³öÊ¡»á³ÇÊÐ
×îÏÂÃæµÄadcode = i
      city_name = i
      X = i
      Y = iÊÇʲôÒâ˼ÓõÄɶ×Ó֪ʶµã
ÇóÇó´óÀкܼ±°¡

qq1151985918 ·¢±íÓÚ 2021-1-17 14:41:49

ÎÒ¸Õ¿´¹ýÁË£¬²»ÊÇ´úÂëµÄÎÊÌ⣬ÊÇËü·þÎñÆ÷µÄÎÊÌ⣬ûÓÐÌṩÆäËû³ÇÊеÄÌìÆøÐÅÏ¢£¬¾Í±ÈÈç ʯ¼Òׯ130000 ÎÒÊÖ¶¯²éÁËϽá¹ûÊÇ{"status":"1","data":{"code":"7","timestamp":"1610865540.26","version":"2.0-3.0.1006.2148","result":"false","message":"Not found."}}"result":"false","message":"Not found."ÕâÑùµÄ½á¹û¿Ï¶¨¾Í²»ÏÔʾÁËô

suchocolate ·¢±íÓÚ 2021-1-17 14:46:00

±¾Ìû×îºóÓÉ suchocolate ÓÚ 2021-1-17 14:59 ±à¼­

·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º
    for x in zd:
      if zd["cities"]:    #²»ÓÃlen²âÁ¿³¤¶È£¬Ö»ÒªÓÐÖµ¾ÍÊÇtrue£¬Ã»ÓÐÖµ¾ÍÊÇfalse¡£
            city_adcode.append((zd["cities"]["adcode"], zd["cities"]["name"], zd["x"], zd["y"]))   # adcode»ñÈ¡·½Ê½Óб䶯¡£


iµÄÖµÊÇÕâÖÖ£º('110000', '±±¾©', '116.405285', '39.904989')
iÊÇ£º110000
iÊÇ£º±±¾©
ÆäËûÒÔ´ËÀàÍÆ£¬¾ÍÊÇÆÕͨÓÃindex·ÃÎÊÔª×éµÄÔªËØ£¬Ã»Ê²Ã´Ìرð֪ʶµã¡£

ÁíÍâÎҼǵûشð¹ýÄ㣬Ϊɶ²»Ö±½ÓÓá£

import requests


def main():
    cities = dict()
    url = 'https://www.amap.com/service/cityList'
    headers = {'user-agent': 'Mozilla'}
    r = requests.get(url, headers=headers)
    json_data = r.json()['data']['cityData']['provinces']
    for k, v in json_data.items():
      # ÆÕͨʡ·Ý
      if v['cities']:
            t = v['cities']
            cities] = , t['y'], t['adcode']]
      # ֱϽÊлòÌØÇø
      else:
            cities] = , v['y'], k]
    for k, v in cities.items():
      url = 'https://www.amap.com/service/weather?adcode=' + v
      # print(url)
      r = requests.get(url, headers=headers)
      json_data = r.json()['data']['data']
      t_data = json_data['forecast_data']
      m_data = json_data['forecast_data']
      print(f'{k} ½ñÌì ÌìÆø:{t_data["weather_name"]}, ×î¸ßÎÂ{t_data["max_temp"]}£¬×îµÍÎÂ{t_data["min_temp"]}')
      print(f'    Ã÷ÈÕ ÌìÆø:{m_data["weather_name"]}, ×î¸ßÎÂ{m_data["max_temp"]}£¬×îµÍÎÂ{m_data["min_temp"]}')
      print('=' * 100)


if __name__ == '__main__':
    main()

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:40:53

suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º




ÄãÕâ¸öÎÒ¿´²»Ì«¶®
ÎÒϲ»¶ÎÒÄǸö´úÂë ÄÇÖÖÁбí·ç¸ñµÄ
ÎÒÄǸö´úÂë²»ÄÜÖ±½ÓÔÚÌáÈ¡ÄÄÀï¸Ä±äÂð

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:45:06

suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º




лл´óÀÐ ÎÒ°´Äã¸øµÄ´úÂëŪºÃÁË

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:45:56

qq1151985918 ·¢±íÓÚ 2021-1-17 14:41
ÎÒ¸Õ¿´¹ýÁË£¬²»ÊÇ´úÂëµÄÎÊÌ⣬ÊÇËü·þÎñÆ÷µÄÎÊÌ⣬ûÓÐÌṩÆäËû³ÇÊеÄÌìÆøÐÅÏ¢£¬¾Í±ÈÈç ʯ¼Òׯ130000 ÎÒÊÖ¶¯ ...

ºÃµÄлл

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:56:49

suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º




Âé·³ÔÙÎÊÏÂ
dic = {}
      dic['³ÇÊÐ'] = city_name
      dic['adcode'] = adcode
      dic['X'] = X
      dic['Y'] = Y
ÕâÀïµÄx y ¶¼ÊÇÎÒ×Ô¼º¼ÓµÄ Ϊʲô¾ÍÆ¥Åäµ½¶ÔÓ¦µÄx y µÄÖµÁËÄØ

suchocolate ·¢±íÓÚ 2021-1-17 16:53:44

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:56
Âé·³ÔÙÎÊÏÂ
dic = {}
      dic['³ÇÊÐ'] = city_name


XY¾ÍÊÇÐβΣ¬Êµ²ÎÊÇÄãµ÷Óú¯Êýʱ´«ÈëµÄÖµ¡£

˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 18:09:06

suchocolate ·¢±íÓÚ 2021-1-17 16:53
XY¾ÍÊÇÐβΣ¬Êµ²ÎÊÇÄãµ÷Óú¯Êýʱ´«ÈëµÄÖµ¡£

ºÃµÄ
Ò³: [1]
²é¿´ÍêÕû°æ±¾: ÇóÖú ¾È¾Èº¢×Ó°É