ÇóÖú ¾È¾Èº¢×Ó°É
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ÊÇʲôÒâ˼ÓõÄɶ×Ó֪ʶµã
ÇóÇó´óÀкܼ±°¡ ÎÒ¸Õ¿´¹ýÁË£¬²»ÊÇ´úÂëµÄÎÊÌ⣬ÊÇËü·þÎñÆ÷µÄÎÊÌ⣬ûÓÐÌṩÆäËû³ÇÊеÄÌìÆøÐÅÏ¢£¬¾Í±ÈÈç ʯ¼Òׯ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: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()
suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º
ÄãÕâ¸öÎÒ¿´²»Ì«¶®
ÎÒϲ»¶ÎÒÄǸö´úÂë ÄÇÖÖÁбí·ç¸ñµÄ
ÎÒÄǸö´úÂë²»ÄÜÖ±½ÓÔÚÌáÈ¡ÄÄÀï¸Ä±äÂð suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º
лл´óÀÐ ÎÒ°´Äã¸øµÄ´úÂëŪºÃÁË qq1151985918 ·¢±íÓÚ 2021-1-17 14:41
ÎÒ¸Õ¿´¹ýÁË£¬²»ÊÇ´úÂëµÄÎÊÌ⣬ÊÇËü·þÎñÆ÷µÄÎÊÌ⣬ûÓÐÌṩÆäËû³ÇÊеÄÌìÆøÐÅÏ¢£¬¾Í±ÈÈç ʯ¼Òׯ130000 ÎÒÊÖ¶¯ ...
ºÃµÄлл suchocolate ·¢±íÓÚ 2021-1-17 14:46
·ÇֱϽÊеÄadcodeÔÚ³ÇÊÐÁбíÀÕâÑù¸Ä£º
Âé·³ÔÙÎÊÏÂ
dic = {}
dic['³ÇÊÐ'] = city_name
dic['adcode'] = adcode
dic['X'] = X
dic['Y'] = Y
ÕâÀïµÄx y ¶¼ÊÇÎÒ×Ô¼º¼ÓµÄ Ϊʲô¾ÍÆ¥Åäµ½¶ÔÓ¦µÄx y µÄÖµÁËÄØ ˽¤Ï¤ê ·¢±íÓÚ 2021-1-17 15:56
Âé·³ÔÙÎÊÏÂ
dic = {}
dic['³ÇÊÐ'] = city_name
XY¾ÍÊÇÐβΣ¬Êµ²ÎÊÇÄãµ÷Óú¯Êýʱ´«ÈëµÄÖµ¡£ suchocolate ·¢±íÓÚ 2021-1-17 16:53
XY¾ÍÊÇÐβΣ¬Êµ²ÎÊÇÄãµ÷Óú¯Êýʱ´«ÈëµÄÖµ¡£
ºÃµÄ
Ò³:
[1]