微信公众号定时推送(github上CI实现)

1、申请微信公众号,准备工作

https://mp.weixin.qq.com/
得到 appID 和 appsecret (后面有用)
在这里插入图片描述
有个二维码,一扫就有微信号(后面有用)
在这里插入图片描述新增模板,得到模板ID (后面有用)
在这里插入图片描述
模板如下:

城市是:{{city.DATA}}
今天的天气是:{{weather.DATA}}
最高气温为: {{max_temperature.DATA}}
最低气温为: {{min_temperature.DATA}}
今天是我们恋爱的第{{love_day.DATA}}天
距离生日还有{{birthday.DATA}}
每日一句:
{{note_en.DATA}}
{{note_ch.DATA}}

在config.txt文件里改
在这里插入图片描述

{
# 公众号配置
# 公众号appId
"app_id": " ",
# 公众号appSecret
"app_secsret": " ",
# 模板消息id
"template_id": " ",
# 接收公众号消息的微信号,如果有多个,需要在[]里用英文逗号间隔,例如["wx1", "wx2"]
"user": [" "],

# 信息配置
# 所在省份
"province": "北京",
# 所在城市
"city": "北京",
# 生日1,修改名字为对应需要显示的名字,如果生日为农历,在最前面加上r即可
"birthday": {"name": "熊大", "birthday": "r1999-04-02"},
# 生日2
#"birthday2": {"name": "宝贝", "birthday": "r1999-08-18"},
# 在一起的日子,格式同上
"love_date": "2000-02-28"
}

goodmorning.py
需要两个库:
pip install zhdate
pip install requests

import random
from time import time, localtime
import cityinfo
from requests import get, post
from datetime import datetime, date
from zhdate import ZhDate
import sys
import os


def get_color():
    # 获取随机颜色
    get_colors = lambda n: list(map(lambda i: "#" + "%06x" % random.randint(0, 0xFFFFFF), range(n)))
    color_list = get_colors(100)
    return random.choice(color_list)


def get_access_token():
    # appId
    app_id = config["app_id"]
    # appSecret
    app_secret = config["app_secret"]
    post_url = f'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={app_id}&secret={app_secret}'
    try:
        access_token = get(post_url).json()['access_token']
    except KeyError:
        print("获取access_token失败,请检查app_id和app_secret是否正确")
        os.system("pause")
        sys.exit(1)
    # print(access_token)
    return access_token


def get_weather(province, city):
    # 城市id
    try:
        city_id = cityinfo.cityInfo[province][city]["AREAID"]
    except KeyError:
        print("推送消息失败,请检查省份或城市是否正确")
        os.system("pause")
        sys.exit(1)
    # 毫秒级时间戳
    t = (int(round(time() * 1000)))
    # headers = {
    #     "Referer": "http://www.weather.com.cn/weather1d/{}.shtml".format(city_id),
    #     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
    #                   'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    # }
    # url = "http://d1.weather.com.cn/dingzhi/{}.html?_={}".format(city_id, t)
    # response = get(url, headers=headers)
    url = f"https://devapi.qweather.com/v7/weather/3d?location={city_id}&key=2b0eac5a4b874cb7b9027fe1039f1ac8"
    response = get(url)
    response.encoding = "utf-8"
    response_data = response.text.split(";")[0].split("=")[-1]
    response_json = eval(response_data)
    # print(response_json)
    weatherinfo = response_json["daily"][0]
    # 天气
    weather = weatherinfo["textDay"]
    # 最高气温
    temp = weatherinfo["tempMax"]
    # 最低气温
    tempn = weatherinfo["tempMin"]
    return weather, temp, tempn


def get_birthday(birthday, year, today):
    birthday_year = birthday.split("-")[0]
    # 判断是否为农历生日
    if birthday_year[0] == "r":
        r_mouth = int(birthday.split("-")[1])
        r_day = int(birthday.split("-")[2])
        # 今年生日
        birthday = ZhDate(year, r_mouth, r_day).to_datetime().date()
        year_date = birthday
    else:
        # 获取国历生日的今年对应月和日
        birthday_month = int(birthday.split("-")[1])
        birthday_day = int(birthday.split("-")[2])
        # 今年生日
        year_date = date(year, birthday_month, birthday_day)
    # 计算生日年份,如果还没过,按当年减,如果过了需要+1
    if today > year_date:
        if birthday_year[0] == "r":
            # 获取农历明年生日的月和日
            r_last_birthday = ZhDate((year + 1), r_mouth, r_day).to_datetime().date()
            birth_date = date((year + 1), r_last_birthday.month, r_last_birthday.day)
        else:
            birth_date = date((year + 1), birthday_month, birthday_day)
        birth_day = str(birth_date.__sub__(today)).split(" ")[0]
    elif today == year_date:
        birth_day = 0
    else:
        birth_date = year_date
        birth_day = str(birth_date.__sub__(today)).split(" ")[0]
    return birth_day


def get_ciba():
    url = "http://open.iciba.com/dsapi/"
    headers = {
        'Content-Type': 'application/json',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    r = get(url, headers=headers)
    note_en = r.json()["content"]
    note_ch = r.json()["note"]
    return note_ch, note_en


def send_message(to_user, access_token, city_name, weather, max_temperature, min_temperature, note_ch, note_en):
    url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={}".format(access_token)
    week_list = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
    year = localtime().tm_year
    month = localtime().tm_mon
    day = localtime().tm_mday
    today = datetime.date(datetime(year=year, month=month, day=day))
    week = week_list[today.isoweekday() % 7]
    # 获取在一起的日子的日期格式
    love_year = int(config["love_date"].split("-")[0])
    love_month = int(config["love_date"].split("-")[1])
    love_day = int(config["love_date"].split("-")[2])
    love_date = date(love_year, love_month, love_day)
    # 获取在一起的日期差
    love_days = str(today.__sub__(love_date)).split(" ")[0]
    # 获取所有生日数据
    birthdays = {}
    for k, v in config.items():
        if k[0:5] == "birth":
            birthdays[k] = v
    data = {
        "touser": to_user,
        "template_id": config["template_id"],
        "url": "http://weixin.qq.com/download",
        "topcolor": "#FF0000",
        "data": {
            "date": {
                "value": "{} {}".format(today, week),
                "color": get_color()
            },
            "city": {
                "value": city_name,
                "color": get_color()
            },
            "weather": {
                "value": weather,
                "color": get_color()
            },
            "min_temperature": {
                "value": min_temperature,
                "color": get_color()
            },
            "max_temperature": {
                "value": max_temperature,
                "color": get_color()
            },
            "love_day": {
                "value": love_days,
                "color": get_color()
            },
            "note_en": {
                "value": note_en,
                "color": get_color()
            },
            "note_ch": {
                "value": note_ch,
                "color": get_color()
            }
        }
    }
    for key, value in birthdays.items():
        # 获取距离下次生日的时间
        birth_day = get_birthday(value["birthday"], year, today)
        if birth_day == 0:
            birthday_data = "今天{}生日哦,祝{}生日快乐!".format(value["name"], value["name"])
        else:
            birthday_data = "距离{}的生日还有{}天".format(value["name"], birth_day)
        # 将生日数据插入data
        data["data"][key] = {"value": birthday_data, "color": get_color()}
    headers = {
        'Content-Type': 'application/json',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    response = post(url, headers=headers, json=data).json()
    if response["errcode"] == 40037:
        print("推送消息失败,请检查模板id是否正确")
    elif response["errcode"] == 40036:
        print("推送消息失败,请检查模板id是否为空")
    elif response["errcode"] == 40003:
        print("推送消息失败,请检查微信号是否正确")
    elif response["errcode"] == 0:
        print("推送消息成功")
    else:
        print(response)


if __name__ == "__main__":
    try:
        with open("config.txt", encoding="utf-8") as f:
            config = eval(f.read())
    except FileNotFoundError:
        print("推送消息失败,请检查config.txt文件是否与程序位于同一路径")
        os.system("pause")
        sys.exit(1)
    except SyntaxError:
        print("推送消息失败,请检查配置文件格式是否正确")
        os.system("pause")
        sys.exit(1)

    # 获取accessToken
    accessToken = get_access_token()
    # 接收的用户
    users = config["user"]
    # 传入省份和市获取天气信息
    province, city = config["province"], config["city"]
    weather, max_temperature, min_temperature = get_weather(province, city)
    # 获取词霸每日金句
    note_ch, note_en = get_ciba()
    # 公众号推送消息
    for user in users:
        send_message(user, accessToken, city, weather, max_temperature, min_temperature, note_ch, note_en)
    # os.system("pause")

2.github自动推送

在这里插入图片描述在储存库里面点击New,来新建一个库
在这里插入图片描述
在Repository name里面随便填个什么,我这里填的是time-push,然后下面选择Public
然后点击Create repository
在这里插入图片描述
在这里插入图片描述
在仓库页面点击Actions
然后选择Simple workflow
在这里插入图片描述
点击Configure
在这里插入图片描述
把这个部分全部删除,替换成以下内容

name: time-push
on:
  workflow_dispatch:
  schedule: 
    # 代表国际标准时间4点0分,北京时间需要+8小时,代表北京时间中午12点运行
    - cron: '0/25 0 * * *'
jobs:
#将工作流程中运行的所有作业组合在一起
  build:
  #定义名为 build 的作业。 子键将定义作业的属性 
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
    
      - name: Set up Python 3.9
        uses: actions/setup-python@v2
        with:
          python-version: 3.9.12
          cache: "pip"
        env:
          AGENT_TOOLSDIRECTORY: /opt/hostedtoolcache
      - name: Set timezone
        run: |
          cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      - name: install pip packages
        run: |
          python -m pip install --upgrade pip
          pip3 install -r requirements.txt
      - name: time-push
        run: |
          python3 goodmorning_daily.py

其中倒数第三行这里的name:后面填写你在上面中创建的这个仓库的名字,我这里就填写time-push
完成后点击Start commit提交
在这里插入图片描述
然后我们点击仓库名称回到主界面
在这里插入图片描述
然后我们点击仓库名称回到主界面
在这里插入图片描述

在这里插入图片描述
选择Upload files
点击Choose your files
在这里插入图片描述
只需要上传这三个就可以了:
在这里插入图片描述
点击Commit changes
在这里插入图片描述
就好了
在这里插入图片描述
额外需要的文件放到这了:
cityinfo.py


cityInfo = {
  "北京": {
    "北京": {
      "AREAID": "101010100"
    }
  },
  "上海": {
    "上海": {
      "AREAID": "101020100"
    }
  },
  "天津": {
    "天津": {
      "AREAID": "101030100"
    }
  },
  "重庆": {
    "重庆": {
      "AREAID": "101040100"
    }
  },
  "黑龙江": {
    "哈尔滨": {
      "AREAID": "101050101"
    },
    "齐齐哈尔": {
      "AREAID": "101050201"
    },
    "牡丹江": {
      "AREAID": "101050301"
    },
    "佳木斯": {
      "AREAID": "101050401"
    },
    "绥化": {
      "AREAID": "101050501"
    },
    "黑河": {
      "AREAID": "101050601"
    },
    "大兴安岭": {
      "AREAID": "101050701"
    },
    "伊春": {
      "AREAID": "101050801"
    },
    "大庆": {
      "AREAID": "101050901"
    },
    "七台河": {
      "AREAID": "101051002"
    },
    "鸡西": {
      "AREAID": "101051101"
    },
    "鹤岗": {
      "AREAID": "101051201"
    },
    "双鸭山": {
      "AREAID": "101051301"
    }
  },
  "吉林": {
    "长春": {
      "AREAID": "101060101"
    },
    "吉林": {
      "AREAID": "101060201"
    },
    "延边": {
      "AREAID": "101060306"
    },
    "四平": {
      "AREAID": "101060401"
    },
    "通化": {
      "AREAID": "101060501"
    },
    "白城": {
      "AREAID": "101060601"
    },
    "辽源": {
      "AREAID": "101060701"
    },
    "松原": {
      "AREAID": "101060801"
    },
    "白山": {
      "AREAID": "101060901"
    }
  },
  "辽宁": {
    "沈阳": {
      "AREAID": "101070101"
    },
    "大连": {
      "AREAID": "101070201"
    },
    "鞍山": {
      "AREAID": "101070301"
    },
    "抚顺": {
      "AREAID": "101070401"
    },
    "本溪": {
      "AREAID": "101070501"
    },
    "丹东": {
      "AREAID": "101070601"
    },
    "锦州": {
      "AREAID": "101070701"
    },
    "营口": {
      "AREAID": "101070801"
    },
    "阜新": {
      "AREAID": "101070901"
    },
    "辽阳": {
      "AREAID": "101071001"
    },
    "铁岭": {
      "AREAID": "101071101"
    },
    "朝阳": {
      "AREAID": "101071201"
    },
    "盘锦": {
      "AREAID": "101071301"
    },
    "葫芦岛": {
      "AREAID": "101071401"
    }
  },
  "内蒙古": {
    "呼和浩特": {
      "AREAID": "101080101"
    },
    "包头": {
      "AREAID": "101080201"
    },
    "乌海": {
      "AREAID": "101080301"
    },
    "乌兰察布": {
      "AREAID": "101080405"
    },
    "通辽": {
      "AREAID": "101080501"
    },
    "赤峰": {
      "AREAID": "101080601"
    },
    "鄂尔多斯": {
      "AREAID": "101080701"
    },
    "巴彦淖尔": {
      "AREAID": "101080811"
    },
    "锡林郭勒": {
      "AREAID": "101080902"
    },
    "呼伦贝尔": {
      "AREAID": "101081013"
    },
    "兴安盟": {
      "AREAID": "101081108"
    },
    "阿拉善盟": {
      "AREAID": "101081213"
    }
  },
  "河北": {
    "石家庄": {
      "AREAID": "101090101"
    },
    "保定": {
      "AREAID": "101090201"
    },
    "张家口": {
      "AREAID": "101090301"
    },
    "承德": {
      "AREAID": "101090402"
    },
    "唐山": {
      "AREAID": "101090501"
    },
    "廊坊": {
      "AREAID": "101090601"
    },
    "沧州": {
      "AREAID": "101090701"
    },
    "衡水": {
      "AREAID": "101090801"
    },
    "邢台": {
      "AREAID": "101090901"
    },
    "邯郸": {
      "AREAID": "101091001"
    },
    "秦皇岛": {
      "AREAID": "101091101"
    },
    "雄安新区": {
      "AREAID": "101091201"
    }
  },
  "山西": {
    "太原": {
      "AREAID": "101100101"
    },
    "大同": {
      "AREAID": "101100201"
    },
    "阳泉": {
      "AREAID": "101100301"
    },
    "晋中": {
      "AREAID": "101100401"
    },
    "长治": {
      "AREAID": "101100501"
    },
    "晋城": {
      "AREAID": "101100601"
    },
    "临汾": {
      "AREAID": "101100701"
    },
    "运城": {
      "AREAID": "101100801"
    },
    "朔州": {
      "AREAID": "101100901"
    },
    "忻州": {
      "AREAID": "101101001"
    },
    "吕梁": {
      "AREAID": "101101100"
    }
  },
  "陕西": {
    "西安": {
      "AREAID": "101110101"
    },
    "咸阳": {
      "AREAID": "101110200"
    },
    "延安": {
      "AREAID": "101110300"
    },
    "榆林": {
      "AREAID": "101110401"
    },
    "渭南": {
      "AREAID": "101110501"
    },
    "商洛": {
      "AREAID": "101110601"
    },
    "安康": {
      "AREAID": "101110701"
    },
    "汉中": {
      "AREAID": "101110801"
    },
    "宝鸡": {
      "AREAID": "101110901"
    },
    "铜川": {
      "AREAID": "101111001"
    },
    "杨凌": {
      "AREAID": "101111101"
    }
  },
  "山东": {
    "济南": {
      "AREAID": "101120101"
    },
    "青岛": {
      "AREAID": "101120201"
    },
    "淄博": {
      "AREAID": "101120301"
    },
    "德州": {
      "AREAID": "101120401"
    },
    "烟台": {
      "AREAID": "101120501"
    },
    "潍坊": {
      "AREAID": "101120601"
    },
    "济宁": {
      "AREAID": "101120701"
    },
    "泰安": {
      "AREAID": "101120801"
    },
    "临沂": {
      "AREAID": "101120901"
    },
    "菏泽": {
      "AREAID": "101121001"
    },
    "滨州": {
      "AREAID": "101121101"
    },
    "东营": {
      "AREAID": "101121201"
    },
    "威海": {
      "AREAID": "101121301"
    },
    "枣庄": {
      "AREAID": "101121401"
    },
    "日照": {
      "AREAID": "101121501"
    },
    "莱芜": {
      "AREAID": "101121601"
    },
    "聊城": {
      "AREAID": "101121701"
    }
  },
  "新疆": {
    "乌鲁木齐": {
      "AREAID": "101130101"
    },
    "克拉玛依": {
      "AREAID": "101130201"
    },
    "石河子": {
      "AREAID": "101130301"
    },
    "昌吉": {
      "AREAID": "101130401"
    },
    "吐鲁番": {
      "AREAID": "101130501"
    },
    "巴音郭楞": {
      "AREAID": "101130609"
    },
    "阿拉尔": {
      "AREAID": "101130701"
    },
    "阿克苏": {
      "AREAID": "101130801"
    },
    "喀什": {
      "AREAID": "101130901"
    },
    "伊犁": {
      "AREAID": "101131012"
    },
    "塔城": {
      "AREAID": "101131101"
    },
    "哈密": {
      "AREAID": "101131201"
    },
    "和田": {
      "AREAID": "101131301"
    },
    "阿勒泰": {
      "AREAID": "101131401"
    },
    "克州": {
      "AREAID": "101131505"
    },
    "博尔塔拉": {
      "AREAID": "101131604"
    },
    "图木舒克": {
      "AREAID": "101131701"
    },
    "五家渠": {
      "AREAID": "101131801"
    },
    "铁门关": {
      "AREAID": "101131901"
    },
    "昆玉": {
      "AREAID": "101131920"
    },
    "北屯": {
      "AREAID": "101132101"
    },
    "双河": {
      "AREAID": "101132201"
    },
    "可克达拉": {
      "AREAID": "101132301"
    }
  },
  "西藏": {
    "拉萨": {
      "AREAID": "101140101"
    },
    "日喀则": {
      "AREAID": "101140201"
    },
    "山南": {
      "AREAID": "101140301"
    },
    "林芝": {
      "AREAID": "101140401"
    },
    "昌都": {
      "AREAID": "101140501"
    },
    "那曲": {
      "AREAID": "101140601"
    },
    "阿里": {
      "AREAID": "101140701"
    }
  },
  "青海": {
    "西宁": {
      "AREAID": "101150101"
    },
    "海东": {
      "AREAID": "101150207"
    },
    "黄南": {
      "AREAID": "101150305"
    },
    "海南": {
      "AREAID": "101150402"
    },
    "果洛": {
      "AREAID": "101150507"
    },
    "玉树": {
      "AREAID": "101150601"
    },
    "海西": {
      "AREAID": "101150702"
    },
    "海北": {
      "AREAID": "101150804"
    }
  },
  "甘肃": {
    "兰州": {
      "AREAID": "101160101"
    },
    "定西": {
      "AREAID": "101160201"
    },
    "平凉": {
      "AREAID": "101160301"
    },
    "庆阳": {
      "AREAID": "101160401"
    },
    "武威": {
      "AREAID": "101160501"
    },
    "金昌": {
      "AREAID": "101160601"
    },
    "张掖": {
      "AREAID": "101160701"
    },
    "酒泉": {
      "AREAID": "101160801"
    },
    "天水": {
      "AREAID": "101160901"
    },
    "陇南": {
      "AREAID": "101161010"
    },
    "临夏": {
      "AREAID": "101161101"
    },
    "甘南": {
      "AREAID": "101161209"
    },
    "白银": {
      "AREAID": "101161301"
    },
    "嘉峪关": {
      "AREAID": "101161401"
    }
  },
  "宁夏": {
    "银川": {
      "AREAID": "101170101"
    },
    "石嘴山": {
      "AREAID": "101170201"
    },
    "吴忠": {
      "AREAID": "101170301"
    },
    "固原": {
      "AREAID": "101170401"
    },
    "中卫": {
      "AREAID": "101170501"
    }
  },
  "河南": {
    "郑州": {
      "AREAID": "101180101"
    },
    "安阳": {
      "AREAID": "101180201"
    },
    "新乡": {
      "AREAID": "101180301"
    },
    "许昌": {
      "AREAID": "101180401"
    },
    "平顶山": {
      "AREAID": "101180501"
    },
    "信阳": {
      "AREAID": "101180601"
    },
    "南阳": {
      "AREAID": "101180701"
    },
    "开封": {
      "AREAID": "101180801"
    },
    "洛阳": {
      "AREAID": "101180901"
    },
    "商丘": {
      "AREAID": "101181001"
    },
    "焦作": {
      "AREAID": "101181101"
    },
    "鹤壁": {
      "AREAID": "101181201"
    },
    "濮阳": {
      "AREAID": "101181301"
    },
    "周口": {
      "AREAID": "101181401"
    },
    "漯河": {
      "AREAID": "101181501"
    },
    "驻马店": {
      "AREAID": "101181601"
    },
    "三门峡": {
      "AREAID": "101181701"
    },
    "济源": {
      "AREAID": "101181801"
    }
  },
  "江苏": {
    "南京": {
      "AREAID": "101190101"
    },
    "无锡": {
      "AREAID": "101190201"
    },
    "镇江": {
      "AREAID": "101190301"
    },
    "苏州": {
      "AREAID": "101190401"
    },
    "南通": {
      "AREAID": "101190501"
    },
    "扬州": {
      "AREAID": "101190601"
    },
    "盐城": {
      "AREAID": "101190701"
    },
    "徐州": {
      "AREAID": "101190801"
    },
    "淮安": {
      "AREAID": "101190901"
    },
    "连云港": {
      "AREAID": "101191001"
    },
    "常州": {
      "AREAID": "101191101"
    },
    "泰州": {
      "AREAID": "101191201"
    },
    "宿迁": {
      "AREAID": "101191301"
    }
  },
  "湖北": {
    "武汉": {
      "AREAID": "101200101"
    },
    "襄阳": {
      "AREAID": "101200201"
    },
    "鄂州": {
      "AREAID": "101200301"
    },
    "孝感": {
      "AREAID": "101200401"
    },
    "黄冈": {
      "AREAID": "101200501"
    },
    "黄石": {
      "AREAID": "101200601"
    },
    "咸宁": {
      "AREAID": "101200701"
    },
    "荆州": {
      "AREAID": "101200801"
    },
    "宜昌": {
      "AREAID": "101200901"
    },
    "恩施": {
      "AREAID": "101201001"
    },
    "十堰": {
      "AREAID": "101201101"
    },
    "神农架": {
      "AREAID": "101201201"
    },
    "随州": {
      "AREAID": "101201301"
    },
    "荆门": {
      "AREAID": "101201401"
    },
    "天门": {
      "AREAID": "101201501"
    },
    "仙桃": {
      "AREAID": "101201601"
    },
    "潜江": {
      "AREAID": "101201701"
    }
  },
  "浙江": {
    "杭州": {
      "AREAID": "101210101"
    },
    "湖州": {
      "AREAID": "101210201"
    },
    "嘉兴": {
      "AREAID": "101210301"
    },
    "宁波": {
      "AREAID": "101210401"
    },
    "绍兴": {
      "AREAID": "101210507"
    },
    "台州": {
      "AREAID": "101210601"
    },
    "温州": {
      "AREAID": "101210701"
    },
    "丽水": {
      "AREAID": "101210801"
    },
    "金华": {
      "AREAID": "101210901"
    },
    "衢州": {
      "AREAID": "101211001"
    },
    "舟山": {
      "AREAID": "101211101"
    }
  },
  "安徽": {
    "合肥": {
      "AREAID": "101220101"
    },
    "蚌埠": {
      "AREAID": "101220201"
    },
    "芜湖": {
      "AREAID": "101220301"
    },
    "淮南": {
      "AREAID": "101220401"
    },
    "马鞍山": {
      "AREAID": "101220501"
    },
    "安庆": {
      "AREAID": "101220601"
    },
    "宿州": {
      "AREAID": "101220701"
    },
    "阜阳": {
      "AREAID": "101220801"
    },
    "亳州": {
      "AREAID": "101220901"
    },
    "黄山": {
      "AREAID": "101221001"
    },
    "滁州": {
      "AREAID": "101221101"
    },
    "淮北": {
      "AREAID": "101221201"
    },
    "铜陵": {
      "AREAID": "101221301"
    },
    "宣城": {
      "AREAID": "101221401"
    },
    "六安": {
      "AREAID": "101221501"
    },
    "池州": {
      "AREAID": "101221701"
    }
  },
  "福建": {
    "福州": {
      "AREAID": "101230101"
    },
    "厦门": {
      "AREAID": "101230201"
    },
    "宁德": {
      "AREAID": "101230301"
    },
    "莆田": {
      "AREAID": "101230401"
    },
    "泉州": {
      "AREAID": "101230501"
    },
    "漳州": {
      "AREAID": "101230601"
    },
    "龙岩": {
      "AREAID": "101230701"
    },
    "三明": {
      "AREAID": "101230801"
    },
    "南平": {
      "AREAID": "101230901"
    },
    "钓鱼岛": {
      "AREAID": "101231001"
    }
  },
  "江西": {
    "南昌": {
      "AREAID": "101240101"
    },
    "九江": {
      "AREAID": "101240201"
    },
    "上饶": {
      "AREAID": "101240301"
    },
    "抚州": {
      "AREAID": "101240401"
    },
    "宜春": {
      "AREAID": "101240501"
    },
    "吉安": {
      "AREAID": "101240601"
    },
    "赣州": {
      "AREAID": "101240701"
    },
    "景德镇": {
      "AREAID": "101240801"
    },
    "萍乡": {
      "AREAID": "101240901"
    },
    "新余": {
      "AREAID": "101241001"
    },
    "鹰潭": {
      "AREAID": "101241101"
    }
  },
  "湖南": {
    "长沙": {
      "AREAID": "101250101"
    },
    "湘潭": {
      "AREAID": "101250201"
    },
    "株洲": {
      "AREAID": "101250301"
    },
    "衡阳": {
      "AREAID": "101250401"
    },
    "郴州": {
      "AREAID": "101250501"
    },
    "常德": {
      "AREAID": "101250601"
    },
    "益阳": {
      "AREAID": "101250700"
    },
    "娄底": {
      "AREAID": "101250801"
    },
    "邵阳": {
      "AREAID": "101250901"
    },
    "岳阳": {
      "AREAID": "101251001"
    },
    "张家界": {
      "AREAID": "101251101"
    },
    "怀化": {
      "AREAID": "101251201"
    },
    "永州": {
      "AREAID": "101251401"
    },
    "湘西": {
      "AREAID": "101251509"
    }
  },
  "贵州": {
    "贵阳": {
      "AREAID": "101260101"
    },
    "遵义": {
      "AREAID": "101260201"
    },
    "安顺": {
      "AREAID": "101260301"
    },
    "黔南": {
      "AREAID": "101260413"
    },
    "黔东南": {
      "AREAID": "101260506"
    },
    "铜仁": {
      "AREAID": "101260601"
    },
    "毕节": {
      "AREAID": "101260701"
    },
    "六盘水": {
      "AREAID": "101260803"
    },
    "黔西南": {
      "AREAID": "101260906"
    }
  },
  "四川": {
    "成都": {
      "AREAID": "101270101"
    },
    "攀枝花": {
      "AREAID": "101270201"
    },
    "自贡": {
      "AREAID": "101270301"
    },
    "绵阳": {
      "AREAID": "101270401"
    },
    "南充": {
      "AREAID": "101270501"
    },
    "达州": {
      "AREAID": "101270601"
    },
    "遂宁": {
      "AREAID": "101270701"
    },
    "广安": {
      "AREAID": "101270801"
    },
    "巴中": {
      "AREAID": "101270901"
    },
    "泸州": {
      "AREAID": "101271001"
    },
    "宜宾": {
      "AREAID": "101271101"
    },
    "内江": {
      "AREAID": "101271201"
    },
    "资阳": {
      "AREAID": "101271301"
    },
    "乐山": {
      "AREAID": "101271401"
    },
    "眉山": {
      "AREAID": "101271501"
    },
    "凉山": {
      "AREAID": "101271601"
    },
    "雅安": {
      "AREAID": "101271701"
    },
    "甘孜": {
      "AREAID": "101271801"
    },
    "阿坝": {
      "AREAID": "101271901"
    },
    "德阳": {
      "AREAID": "101272001"
    },
    "广元": {
      "AREAID": "101272101"
    }
  },
  "广东": {
    "广州": {
      "AREAID": "101280101"
    },
    "韶关": {
      "AREAID": "101280201"
    },
    "惠州": {
      "AREAID": "101280301"
    },
    "梅州": {
      "AREAID": "101280401"
    },
    "汕头": {
      "AREAID": "101280501"
    },
    "深圳": {
      "AREAID": "101280601"
    },
    "珠海": {
      "AREAID": "101280701"
    },
    "佛山": {
      "AREAID": "101280800"
    },
    "肇庆": {
      "AREAID": "101280901"
    },
    "湛江": {
      "AREAID": "101281001"
    },
    "江门": {
      "AREAID": "101281101"
    },
    "河源": {
      "AREAID": "101281201"
    },
    "清远": {
      "AREAID": "101281301"
    },
    "云浮": {
      "AREAID": "101281401"
    },
    "潮州": {
      "AREAID": "101281501"
    },
    "东莞": {
      "AREAID": "101281601"
    },
    "中山": {
      "AREAID": "101281701"
    },
    "阳江": {
      "AREAID": "101281801"
    },
    "揭阳": {
      "AREAID": "101281901"
    },
    "茂名": {
      "AREAID": "101282001"
    },
    "汕尾": {
      "AREAID": "101282101"
    }
  },
  "云南": {
    "昆明": {
      "AREAID": "101290101"
    },
    "大理": {
      "AREAID": "101290201"
    },
    "红河": {
      "AREAID": "101290301"
    },
    "曲靖": {
      "AREAID": "101290401"
    },
    "保山": {
      "AREAID": "101290501"
    },
    "文山": {
      "AREAID": "101290601"
    },
    "玉溪": {
      "AREAID": "101290701"
    },
    "楚雄": {
      "AREAID": "101290801"
    },
    "普洱": {
      "AREAID": "101290901"
    },
    "昭通": {
      "AREAID": "101291001"
    },
    "临沧": {
      "AREAID": "101291101"
    },
    "怒江": {
      "AREAID": "101291201"
    },
    "迪庆": {
      "AREAID": "101291305"
    },
    "丽江": {
      "AREAID": "101291401"
    },
    "德宏": {
      "AREAID": "101291501"
    },
    "西双版纳": {
      "AREAID": "101291602"
    }
  },
  "广西": {
    "南宁": {
      "AREAID": "101300101"
    },
    "崇左": {
      "AREAID": "101300201"
    },
    "柳州": {
      "AREAID": "101300301"
    },
    "来宾": {
      "AREAID": "101300401"
    },
    "桂林": {
      "AREAID": "101300501"
    },
    "梧州": {
      "AREAID": "101300601"
    },
    "贺州": {
      "AREAID": "101300701"
    },
    "贵港": {
      "AREAID": "101300801"
    },
    "玉林": {
      "AREAID": "101300901"
    },
    "百色": {
      "AREAID": "101301001"
    },
    "钦州": {
      "AREAID": "101301101"
    },
    "河池": {
      "AREAID": "101301201"
    },
    "北海": {
      "AREAID": "101301301"
    },
    "防城港": {
      "AREAID": "101301401"
    }
  },
  "海南": {
    "海口": {
      "AREAID": "101310101"
    },
    "三亚": {
      "AREAID": "101310201"
    },
    "东方": {
      "AREAID": "101310202"
    },
    "临高": {
      "AREAID": "101310203"
    },
    "澄迈": {
      "AREAID": "101310204"
    },
    "儋州": {
      "AREAID": "101310205"
    },
    "昌江": {
      "AREAID": "101310206"
    },
    "白沙": {
      "AREAID": "101310207"
    },
    "琼中": {
      "AREAID": "101310208"
    },
    "定安": {
      "AREAID": "101310209"
    },
    "屯昌": {
      "AREAID": "101310210"
    },
    "琼海": {
      "AREAID": "101310211"
    },
    "文昌": {
      "AREAID": "101310212"
    },
    "保亭": {
      "AREAID": "101310214"
    },
    "万宁": {
      "AREAID": "101310215"
    },
    "陵水": {
      "AREAID": "101310216"
    },
    "乐东": {
      "AREAID": "101310221"
    },
    "五指山": {
      "AREAID": "101310222"
    },
    "三沙": {
      "AREAID": "101310301"
    }
  },
  "香港": {
    "香港": {
      "AREAID": "101320101"
    }
  },
  "澳门": {
    "澳门": {
      "AREAID": "101330101"
    }
  },
  "台湾": {
    "台北": {
      "AREAID": "101340101"
    },
    "高雄": {
      "AREAID": "101340201"
    },
    "台中": {
      "AREAID": "101340401"
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值