La dirección personal del blog https://nfreak-man.cn
acaba de ponerse en contacto con el rastreador de Python recientemente. Es recientemente que la neumonía se ha extendido por todo el país, por lo que planeo rastrear los datos de neumonía en tiempo real del sitio web y analizar los datos que quiero. La URL para obtener datos json es https://m.look.360.cn/events/feiyan
URL de rastreo:
def main():
url='https://m.look.360.cn/events/feiyan'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 QIHU 360EE'}
parse_page(url)
Analiza y guarda el archivo de formato json:
state = json.loads(response.content)
with open("feiyan.json", "w",encoding='utf-8') as f:
f.write(json.dumps(state,indent=2,ensure_ascii=False))
print("保存成功")
Después de obtener el archivo json, se encuentra en un formato anidado. Para el formato específico, puede abrir la URL de arriba para ver:
{
"data":[
{
"data":{省份}
"citys":[
{城市}{}.....
]
}
{
"data":{省份}
"citys":[
{城市}{}.....
]
}
"country":[
{其他国家}
]
]
}
Analizando los datos
Debido a que solo quiero obtener los nombres de las ciudades, la cantidad de infecciones, la cantidad de curas y la cantidad de muertes, necesito un ciclo anidado para obtenerlas y generarlas una por una. El código es el siguiente:
Adquisición de datos provinciales:
provincename = state['data'][i]['data']['provinceName']
confirmedCount = state['data'][i]['data']['confirmedCount']
curedCount = state['data'][i]['data']['curedCount']
deadCount = state['data'][i]['data']['deadCount']
Adquisición de datos de la ciudad:
cityName = state['data'][i]['cities'][j]['cityName']
diagnosed = state['data'][i]['cities'][j]['diagnosed']
cured = state['data'][i]['cities'][j]['cured']
died = state['data'][i]['cities'][j]['died']
Adquisición de datos en ciudades extranjeras:
countryname = state['country'][c]['provinceName']
diagnosed = state['country'][c]['diagnosed']
cured = state['country'][c]['cured']
died = state['country'][c]['died']
Lo anterior es el formato de análisis json anidado.
Efecto de salida:
Dirección de origen: github