简约版【HPV疫苗检测】
更新于:2021/08/30
仅用于保存,方便后期完善
# -*- coding: UTF-8 -*-
import datetime
import json
import time
import requests
requests.packages.urllib3.disable_warnings()
def get_city(cid):
value = []
url = 'https://wx.scmttec.com/base/region/childRegions.do?parentCode=' + cid
head = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63030522)"
}
str = requests.get(url=url, headers=head, verify=False).text
json_str = json.loads(str)['data']
for item in json_str:
value.append(item['value'])
return (value)
def get_privince():
dict_cityID = {}
head = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63030522)"}
url = "https://wx.scmttec.com/base/region/childRegions.do?parentCode="
str = requests.get(url=url, headers=head, verify=False).text
json_str = json.loads(str)['data']
for item in json_str:
dict_cityID[item['name']] = item['value']
return dict_cityID
def get_info(city_arr):
dict_info = {}
list_ID = []
for cid in city_arr:
if cid == '11' or cid == '12' or cid == '50' or cid == '31': # '北京市': '11', '天津市': '12' '重庆市': '50' '上海市': '31'
list_ID.append(cid+'01')
else:
city = get_city(cid)
for i in city:
list_ID.append(i)
for cid in list_ID:
url = 'https://wx.scmttec.com/base/department/getDepartments.do'
data = {
"customId": "3",
"isOpen": "1",
"limit": "100",
"offset": "0",
"regionCode": cid,
"sortType": "1",
}
head = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63030522)"
}
str = requests.post(url=url, headers=head,data=data,verify=False).text
json_str = json.loads(str)['data']['rows']
for item in json_str:
total = item['total']
if int(total) >= 1:
name = item['name']
address = item['address']
tel = item['tel']
tips = item['vaccineName']
dict_info[name] = address+"|"+tel +"|"+tips
print("--------------------------------------------\n")
print("- Time: "+ datetime.datetime.strftime( datetime.datetime.now(),'%Y-%m-%d %H:%M:%S') +" -")
for name in dict_info.keys():
print(name+' >>> \t'+dict_info[name])
print("----------------- Finished -----------------\n")
print("\n\n\n\n\n\n本次完成,请等待下一次刷新......\n\n")
if __name__ == '__main__':
dict_cityID = get_privince()
print(dict_cityID)
city_id = input("请输入您要检测的省份代号,多个省份用英文逗号隔开,如果全部检测,请输入'all':")
print('Tips:若输入all可能查询时间较长,请耐心等待。')
if city_id =='all':
city_id = ''
for i in dict_cityID.values():
city_id = city_id + ","+ i
print("定时任务开始,每五分钟刷新一次")
while True:
city_arr = city_id.split(',')
get_info(city_arr)
time.sleep(60*5)