[Python] 疫情等级查询
论坛那位老哥写的太高级了 有点看不懂 就写了一个简易的 我也不知道这个接口是一直更新还是咋样 过些天要是不更新我再来改import requestsimport json
url = 'https://file1.dxycdn.com/2021/0202/196/1680100273140422643-135.json'
r = requests.get(url)
res = r.json()
for cards in res["data"]:
if cards['dangerLevel'] == 1:
print(str(cards['dangerCount'])+'个高风险地区')
if cards['dangerLevel'] == 2:
print(str(cards['dangerCount'])+'个中风险地区')
for i in cards['dangerPros']:
for idangerAreas in i['dangerAreas']:
print(i['provinceName']+idangerAreas['cityName']+idangerAreas['areaName']) 本帖最后由 cflying 于 2022-3-21 22:08 编辑
卫建委的查询有啥难的,一共两个点:
1、www.gov.cn/yqfxdjcx/index.html这个页面中,
appId: "NcApplication"
area_code: "130102"(这个一眼就懂了,不用解释)
key: "2CA32596474B4077834CCC191D351839"(开头以为是动态生成,结果仔细一眼,api的js里固定的,自己声明一哈就行)
nonceHeader: "123456789abcdefg"(也是固定的)
paasHeader: "zdww"(也是固定的)
signatureHeader: "2552BBC6B8110C2D3E62E2CDCFE6FFA1FE2B067BFF08CC48E095E97F534E595A"(这里看起来最复杂,其实就是:时间戳+token(这个是固定)+nonce(也是固定)+时间戳,然后sha256一下,然后大写)
timestampHeader: "1645621507"(这个时间戳不用解释)
以上token,nonce内容www.gov.cn/yqfxdjcx/source/PC/js/risk.里就有
function s(t) {
var e = ((new Date).getTime() / 1e3).toFixed()
, a = "23y0ufFl5YxIyGrI8hWRUZmKkvtSjLQA"
, i = "123456789abcdefg"
, s = "zdww";
return JSON.stringify(Object.assign({
appId: "NcApplication",
paasHeader: s,
timestampHeader: e,
nonceHeader: i,
signatureHeader: CryptoJS.SHA256(e + a + i + e).toString(CryptoJS.enc.Hex).toUpperCase()
}, t))
}
对了,应该请求头里还有个这个(我没试,看代码的时候看到了,估计应该也是必要条件)
headers: {
'x-wif-nonce': 'QkjjtiLM2dCratiA',
'x-wif-paasid': 'smt-application',
'x-wif-signature': zdwwsignature,
'x-wif-timestamp': timestamp
}
zdwwsignature这个很容易理解时间+ 'fTN2pfuisxTavbTuYVSsNJHetwq5bJvC' + 'QkjjtiLM2dCratiA' + 时间,然后she256一下大写
.toString(CryptoJS.enc.Hex)
timestamp就是时间
x-wif-signature:x-wif-signature:
2、www.gov.cn/yqfxdjcx/risk.html这个页面同上
唯一区别就是没有area_code,key和上面的不一样,但也是固定的
在www.gov.cn/yqfxdjcx/source/PC/js/risk里
return $(".loading").show(),
e.next = 3,
Ajax({
key: "3C502C97ABDA40D0A60FBEE50FAAD1DA"
});
judgecx 发表于 2022-2-27 14:59
写这些无非就是练手,或者别人对接自己网站或者是公众号,我就是对接自己公众号的
请教下 怎么对接自己公众号呢 需要有服务器么 学习下,感谢分享。 这个学习一下 感谢分享 这是丁香医生的接口,这个和国家卫健委的更新速度上可能不一致 云在天 发表于 2022-2-23 13:34
这是丁香医生的接口,这个和国家卫健委的更新速度上可能不一致
m没办法 国家卫健 加密啥的 凑合用了 或许这就是大佬吧 学习一下,感谢发布。 支持一下~
大佬啊 本帖最后由 Agustin 于 2022-2-23 16:34 编辑
不错不错,适合初学者学习