立即登录

注册账号

联系我们

2022年3月17日 16:07

9. JSON数据强化练习

用谷歌浏览器Chrome查看json格式数据。
  安装JsonView扩展程序,下载地址如下:https://github.com/gildas-lormeau/JSONView-for-Chrome,下载zip文件后解压。
  安装方式,在浏览器中输入chrome://extensions/,选择开发者模式,然后点击加载已解压的扩展程序,找到解压的文件夹即可安装。

import requests
# 开放API
url = "https://app.www.gov.cn/govdata/gov/home.json"
r = requests.get(url)
d = r.json()
# 采集第5类,政策类的新闻头条
d = d['sections']['5']['recommends']
# 遍历值
for i in d.values():
    # 找到详情页的json页面
    url = "https://app.www.gov.cn/govdata/gov/" + i['article']['path']
    r = requests.get(url)
    d = r.json()
    print(d['title'])
    print(d['keywords'])

提高: 遍历全部版块

# 遍历全部版块的新闻
import requests
# 开放API
url = "https://app.www.gov.cn/govdata/gov/home.json"
r = requests.get(url)
d = r.json()
for i in d['sections'].values():
    for j in i['recommends'].values():
        url = "https://app.www.gov.cn/govdata/gov/" + j['article']['path']
        print(url)
        r = requests.get(url)
        d = r.json()
        print(d['title'])
        print(d['keywords'])

综合练习:请求多个接口

import requests
import json
key = "b7d51bf68cc7757a84c61e7b2d4e5f58"
url = "http://apis.juhe.cn/simpleWeather/cityList?key={}"
# get请求,城市列表
r = requests.get(url.format(key))
data = r.json()
cities = []
for d in data['result']:
    if d['city'] == d['district'] and d['province'] == "河北":
        cities.append(d['city'])

url = "http://apis.juhe.cn/simpleWeather/query"
for city in cities:
    data = {
        "key":key,
        "city":city
    }
    r = requests.post(url,data=data)
    d = r.json()
    print("城市: " + d['result']['city'])
    print(f"实时天气:温度:{d['result']['realtime']['temperature']}")
    print("未来5天天气:")
    for i in d['result']['future']:
        print(f"日期:{i['date']}, 温度:{i['temperature']}")

 

留言

给我留言