zoukankan      html  css  js  c++  java
  • Python3.4:splinter or traceback

    tickts.py:

    #tickts.py
    #2018-01-22
    #python 3.4 Eclipse IDE
    
    from splinter.browser import Browser
    from time import sleep
    import traceback   
    import time
    import sys
    import requests
    import re
    import json
    from pprint import pprint
    from prettytable import PrettyTable
    from docopt import docopt
    from train import TrainCollection  #train為 train.py 中的class:TrainCollection 的引用
    from houcedu import huoche #huocedu為huocedu.py中的class: huoche 的引用
    from stations import stations
    
    
    #pip install traceback2
    #pip install linecache2
    #pip install splinter   windows xp python 3.4
    #pip install PrettyTable
    #pip install docopt
    #pip install r2
    #pip install colorama
    
    # https://github.com/python/cpython/tree/3.6/Lib
    
      
    #b = Browser(driver_name="Chrome")
    #url ="https://kyfw.12306.cn/otn/leftTicket/init"
    #b = Browser(driver_name="Chrome")
    #b.visit(url)     
         
    
    
    cities= {'成都':'%u6210%u90FD%2CCDW',
    '重庆':'%u91CD%u5E86%2CCQW',  
    '北京':'%u5317%u4EAC%2CBJP',
    '广州':'%u5E7F%u5DDE%2CGZQ', 
    '杭州':'%u676D%u5DDE%2CHZH',
    '宜昌':'%u5B9C%u660C%2CYCN',
    '郑州':'%u90D1%u5DDE%2CZZF',
    '深圳':'%u6DF1%u5733%2CSZQ',
    '西安':'%u897F%u5B89%2CXAY',
    '大连':'%u5927%u8FDE%2CDLT',
    '武汉':'%u6B66%u6C49%2CWHN',
    '上海':'%u4E0A%u6D77%2CSHH',
    '南京':'%u5357%u4EAC%2CNJH',
    '合肥':'%u5408%u80A5%2CHFH'}
    
    #if __name__ == '__main__':
    huoche=huoche()
    print(cities.get('成都'))
    huoche.starts=cities.get('成都')
    huoche.ends = cities.get('杭州')
    huoche.dtime = '2018-01-05'
    #huoche.start() #未有權限
    
    #https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-07-01&from_station=SHH&to_station=BJP  拒絕訪問
    
    # pprint: 格式化输出
    url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8971'
    #获取URL
    response = requests.get(url, verify=False)
    #正则提取中文字母和代号
    stations = re.findall(u'([u4e00-u9fa5]+)|([A-Z]+)', response.text)
    # indent:定义打印信息的缩进为4个空格
    #pprint(dict(stations), indent=4)
    
    
    # 拼音輸出
    url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955'
    texts = requests.get(url, verify=False)
    stations = re.findall(u'([A-Z]+)|([a-z]+)', texts.text)
    stations = dict(stations)
    stations = dict(zip(stations.values(), stations.keys()))
    #pprint(stations, indent=4)
    
    #
    def cli():
        arguments = docopt(__doc__)
        from_staion = stations.get(arguments['<from>'])
        to_station = stations.get(arguments['<to>'])
        date = arguments['<date>']
        # 构建URL
        url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={}&from_station={}&to_station={}'.format(
            date, from_staion, to_station
        )
    
    def clis():    
        # 添加verify=False参数不验证证书
        r = requests.get(url, verify=False)
        print(r.json())
        
        
    def clid():
        arguments = docopt(__doc__)
        from_staion = stations.get(arguments['<from>'])
        to_station = stations.get(arguments['<to>'])
        date = arguments['<date>']
        # 构建URL
        url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={}&from_station={}&to_station={}'.format(
            date, from_staion, to_station
        )
        r = requests.get(url, verify=False)
        rows = r.json()['data']['datas']
        trains = TrainCollection(rows)
        trains.pretty_print()
      
      
      
    

      train.py:

    #train.py
    #2018-01-22
    
    
    import time
    import sys
    import requests
    import re
    from pprint import pprint
    from prettytable import PrettyTable
    
    
    class TrainCollection(object):
        """
        解析列车信息
        """
        # 显示车次、出发/到达站、 出发/到达时间、历时、一等坐、二等坐、软卧、硬卧、硬座
        header = '序号 车次 出发站/到达站 出发时间/到达时间 历时 商务座 一等座 二等座 软卧 硬卧 硬座 无座'.split()
        def __init__(self,rows,traintypes):
            self.rows = rows
            self.traintypes = traintypes
    
        def _get_duration(self,row):
            """
            获取车次运行的时间
            """
            duration = row.get('lishi').replace(':','小时') + '分'
    
            if duration.startswith('00'):
                return duration[4:]
            elif duration.startswith('0'):
                return duration[1:]
    
            return duration
    
        @property
        def trains(self):
            result = []
            flag = 0
            for row in self.rows:
                if row['station_train_code'][0] in self.traintypes:
                    flag += 1
                    train = [
                        # 序号
                        flag,
                        # 车次
                        row['station_train_code'],
                        # 出发、到达站点
                        '/'.join([row['from_station_name'],row['to_station_name']]),
                        # 成功、到达时间
                        '/'.join([row['start_time'],row['arrive_time']]),
                        # duration 时间
                        self._get_duration(row),
                        # 商务座
                        row['swz_num'],
                        # 一等座
                        row['zy_num'],
                        # 二等座
                        row['ze_num'],
                        # 软卧
                        row['rw_num'],
                        # 硬卧
                        row['yw_num'],
                        # 硬座
                        row['yz_num'],
                        # 无座
                        row['wz_num']
                    ]
                    
                    result.append(train)
    
                    return result
        
        
        
    def print_pretty(self):
            """打印列车信息"""
            pt = PrettyTable()
            pt._set_field_names(self.header)
            for train in self.trains:
                pt.add_row(train)
    
            print(pt)    
    

      houcedu.py:

    #houcedu.py
    #2018-01-22
    
    from splinter.browser import Browser
    from time import sleep
    import traceback   
    import time
    import sys
    import requests
    import re
    
    class huoche(object):
        """docstring for huoche"""
        driver_name=''
        executable_path=''
        #用户名,密码
        username = u"geovindu"
        passwd = u"888888"
        # cookies值得自己去找, 下面两个分别是上海, 太原南
        starts = u"%u4E0A%u6D77%2CSHH"
        ends = u"%u592A%u539F%2CTYV"
        # 时间格式2018-01-19
        dtime = u"2018-01-19"
        # 车次,选择第几趟,0则从上之下依次点击
        order = 0
        ###乘客名
        users = [u"你的名字"]
        ##席位
        xb = u"二等座"
        pz=u"成人票"
    
        """网址"""
        ticket_url = "https://kyfw.12306.cn/otn/leftTicket/init"
        login_url = "https://kyfw.12306.cn/otn/login/init"
        initmy_url = "https://kyfw.12306.cn/otn/index/initMy12306"
        buy="https://kyfw.12306.cn/otn/confirmPassenger/initDc"
        login_url='https://kyfw.12306.cn/otn/login/init'
        
        def __init__(self):
            self.driver_name='chrome'
            self.executable_path='/usr/local/bin/chromedriver'
    
        def login(self):
            self.driver.visit(self.login_url)
            # 填充密码
            self.driver.fill("loginUserDTO.user_name", self.username)
            # sleep(1)
            self.driver.fill("userDTO.password", self.passwd)
            print (u"等待验证码,自行输入...")
            while True:
                if self.driver.url != self.initmy_url:
                    sleep(1)
                else:
                    break
    
        def start(self):
            self.driver=Browser(driver_name=self.driver_name,executable_path=self.executable_path)
            self.driver.driver.set_window_size(1400, 1000)
            self.login()
            # sleep(1)
            self.driver.visit(self.ticket_url)
            try:
                print (u"购票页面开始...")
                # sleep(1)
                # 加载查询信息
                self.driver.cookies.add({"_jc_save_fromStation": self.starts})
                self.driver.cookies.add({"_jc_save_toStation": self.ends})
                self.driver.cookies.add({"_jc_save_fromDate": self.dtime})
    
                self.driver.reload()
    
                count=0
                if self.order!=0:
                    while self.driver.url==self.ticket_url:
                        self.driver.find_by_text(u"查询").click()
                        count += 1
                        print (u"循环点击查询... 第 %s 次" % count)
                        # sleep(1)
                        try:
                            self.driver.find_by_text(u"预订")[self.order - 1].click()
                        except Exception as e:
                            print (e)
                            print (u"还没开始预订")
                            continue
                else:
                    while self.driver.url == self.ticket_url:
                        self.driver.find_by_text(u"查询").click()
                        count += 1
                        print (u"循环点击查询... 第 %s 次" % count)
                        # sleep(0.8)
                        try:
                            for i in self.driver.find_by_text(u"预订"):
                                i.click()
                                sleep(1)
                        except Exception as e:
                            print (e)
                            print (u"还没开始预订 %s" %count)
                            continue
                print (u"开始预订...")
                # sleep(3)
                # self.driver.reload()
                sleep(1)
                print (u'开始选择用户...')
                for user in self.users:
                    self.driver.find_by_text(user).last.click()
    
                print (u"提交订单...")
                sleep(1)
                # self.driver.find_by_text(self.pz).click()
                # self.driver.find_by_id('').select(self.pz)
                # # sleep(1)
                # self.driver.find_by_text(self.xb).click()
                # sleep(1)
                self.driver.find_by_id('submitOrder_id').click()
                # print u"开始选座..."
                # self.driver.find_by_id('1D').last.click()
                # self.driver.find_by_id('1F').last.click()
    
                sleep(1.5)
                print (u"确认选座...")
                self.driver.find_by_id('qr_submit_id').click()
    
            except Exception as e:
                print (e)
    

      parse_station.py:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # __Author__: hong
    # parse_station.py
    
    
    import re
    import requests
    from pprint import pprint
    
    
    # pprint: 格式化输出
    #url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8971'
    #获取URL
    #response = requests.get(url, verify=False)
    #正则提取中文字母和代号
    #stations = re.findall(u'([u4e00-u9fa5]+)|([A-Z]+)', response.text)
    # indent:定义打印信息的缩进为4个空格
    #pprint(dict(stations), indent=4)
    
    url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955'
    texts = requests.get(url, verify=False)
    stations = re.findall(r'([A-Z]+)|([a-z]+)', texts.text)
    stations = dict(stations)
    stations = dict(zip(stations.values(), stations.keys()))
    pprint(stations, indent=4)
    

      stations.py

    #coding=utf-8
    # stations.py
    
    import requests
    import re
    from pprint import pprint
    
    
    stations={   'abagaqi': 'AQC',
        'acheng': 'ACB',
        'aershan': 'ART',
        'aershanbei': 'ARX',
        'aihe': 'AHP',
        'aijiacun': 'AJJ',
        'ajin': 'AJD',
        'akesu': 'ASR',
        'aketao': 'AER',
        'alashankou': 'AKR',
        'aletai': 'AUR',
        'alihe': 'AHX',
        'alongshan': 'ASX',
        'amuer': 'JTX',
        'ananzhuang': 'AZM',
        'anda': 'ADX',
        'ande': 'ARW',
        'anding': 'ADP',
        'anduo': 'ADO',
        'angangxi': 'AAX',
        'anguang': 'AGT',
        'anhua': 'PKQ',
        'anjia': 'AJB',
        'anjing': 'PYW',
        'ankang': 'AKY',
        'ankouyao': 'AYY',
        'anlong': 'AUZ',
        'anlu': 'ALN',
        'anping': 'APT',
        'anqing': 'AQH',
        'anqingxi': 'APH',
        'anren': 'ARG',
        'anshan': 'AST',
        'anshanxi': 'AXT',
        'anshun': 'ASW',
        'anshunxi': 'ASE',
        'antang': 'ATV',
        'antingbei': 'ASH',
        'antu': 'ATL',
        'antuxi': 'AXL',
        'anxi': 'AXS',
        'anyang': 'AYF',
        'anyangdong': 'ADF',
        'aohan': 'YED',
        'aojiang': 'ARH',
        'aolibugao': 'ALD',
        'atushi': 'ATR',
        'babu': 'BBE',
        'bachu': 'BCR',
        'badaling': 'ILP',
        'badong': 'BNN',
        'bafangshan': 'FGQ',
        'baibiguan': 'BGV',
        'baicheng': 'BCT',
        'baigou': 'FEP',
        'baiguo': 'BGM',
        'baihe': 'BEL',
        'baihedong': 'BIY',
        'baihexian': 'BEY',
        'baijian': 'BAP',
        'baijigou': 'BJJ',
        'baijipo': 'BBM',
        'baikuipu': 'BKB',
        'bailang': 'BAT',
        'bailixia': 'AAP',
        'baimajing': 'BFQ',
        'baiqi': 'BQP',
        'baiquan': 'BQL',
        'baise': 'BIZ',
        'baishanshi': 'HJL',
        'baishapo': 'BPM',
        'baishapu': 'BSN',
        'baishishan': 'BAL',
        'baishuijiang': 'BSY',
        'baishuixian': 'BGY',
        'baishuizhen': 'BUM',
        'baiyangdian': 'FWP',
        'baiyi': 'FHW',
        'baiyinchagan': 'BYC',
        'baiyinhuanan': 'FNC',
        'baiyinhushuo': 'BCD',
        'baiyinshi': 'BNJ',
        'baiyintala': 'BID',
        'baiyinxi': 'BXJ',
        'baiyunebo': 'BEC',
        'bajiaotai': 'BTD',
        'balin': 'BLX',
        'bamiancheng': 'BMD',
        'bamiantong': 'BMB',
        'bancheng': 'BUP',
        'banmaoqing': 'BNM',
        'bantang': 'NGQ',
        'bantian': 'BTQ',
        'baodi': 'BPP',
        'baoding': 'BDP',
        'baodingdong': 'BMP',
        'baohuashan': 'BWH',
        'baoji': 'BJY',
        'baojinan': 'BBY',
        'baokang': 'BKD',
        'baolage': 'BQC',
        'baolin': 'BNB',
        'baolongshan': 'BND',
        'baoqing': 'BUB',
        'baoquanling': 'BQB',
        'baotou': 'BTC',
        'baotoudong': 'FDC',
        'bashan': 'BAY',
        'baxiantong': 'VXD',
        'bayangaole': 'BAC',
        'bayuquan': 'BYT',
        'bazhong': 'IEW',
        'bazhongdong': 'BDE',
        'bazhou': 'RMP',
        'bazhouxi': 'FOP',
        'beian': 'BAB',
        'beibei': 'BPW',
        'beidaihe': 'BEP',
        'beihai': 'BHZ',
        'beijiao': 'IBQ',
        'beijing': 'BJP',
        'beijingbei': 'VAP',
        'beijingdong': 'BOP',
        'beijingnan': 'VNP',
        'beijingxi': 'BXP',
        'beijingzi': 'BRT',
        'beiliu': 'BOZ',
        'beimaquanzi': 'BRP',
        'beipiaonan': 'RPD',
        'beitai': 'BTT',
        'beitun': 'BYP',
        'beitunshi': 'BXR',
        'beiying': 'BIV',
        'beiyinhe': 'BYB',
        'beizhai': 'BVP',
        'bencha': 'FWH',
        'bengbu': 'BBH',
        'bengbunan': 'BMH',
        'benhong': 'BVC',
        'benxi': 'BXT',
        'benxihu': 'BHT',
        'benxixincheng': 'BVT',
        'bijiang': 'BLQ',
        'bijiashan': 'BSB',
        'bijiguan': 'BJM',
        'binhai': 'FHP',
        'binhaibei': 'FCP',
        'binjiang': 'BJB',
        'binxian': 'BXY',
        'binyang': 'UKZ',
        'binzhou': 'BIK',
        'bishan': 'FZW',
        'boao': 'BWQ',
        'bobai': 'BBZ',
        'boketu': 'BKX',
        'bole': 'BOR',
        'boli': 'BLB',
        'botou': 'BZP',
        'boxing': 'BXK',
        'bozhou': 'BZH',
        'buhai': 'BUT',
        'buliekai': 'BLR',
        'caijiagou': 'CJT',
        'caijiapo': 'CJY',
        'caishan': 'CON',
        'cangnan': 'CEH',
        'cangshi': 'CST',
        'cangxi': 'CXE',
        'cangzhou': 'COP',
        'cangzhouxi': 'CBP',
        'caohai': 'WBW',
        'caohekou': 'CKT',
        'caoshi': 'CSL',
        'caoxian': 'CXK',
        'caozili': 'CFP',
        'ceheng': 'CHZ',
        'cenxi': 'CNZ',
        'chabuga': 'CBC',
        'chaganhu': 'VAT',
        'chaigang': 'CGT',
        'chaigoupu': 'CGV',
        'chaihe': 'CHB',
        'chajiang': 'CAM',
        'chaka': 'CVO',
        'chaling': 'CDG',
        'chalingnan': 'CNG',
        'changcheng': 'CEJ',
        'changchong': 'CCM',
        'changchun': 'CCT',
        'changchunnan': 'CET',
        'changchunxi': 'CRT',
        'changde': 'VGQ',
        'changdian': 'CDT',
        'changge': 'CEF',
        'changle': 'CLK',
        'changli': 'CLP',
        'changlingzi': 'CLT',
        'changlinhe': 'FVH',
        'changnong': 'CNJ',
        'changping': 'DAQ',
        'changpingbei': 'VBP',
        'changpingdong': 'FQQ',
        'changpingnan': 'FPQ',
        'changpoling': 'CPM',
        'changqingqiao': 'CQJ',
        'changsha': 'CSQ',
        'changshan': 'CSU',
        'changshanan': 'CWQ',
        'changshantun': 'CVT',
        'changshaxi': 'RXQ',
        'changshou': 'EFW',
        'changshoubei': 'COW',
        'changshouhu': 'CSE',
        'changting': 'CES',
        'changtingnan': 'CNS',
        'changtingzhen': 'CDB',
        'changtu': 'CTT',
        'changtuxi': 'CPT',
        'changwu': 'CWY',
        'changxing': 'CBH',
        'changxingnan': 'CFH',
        'changyang': 'CYN',
        'changyuan': 'CYF',
        'changzheng': 'CZJ',
        'changzhi': 'CZF',
        'changzhibei': 'CBF',
        'changzhou': 'CZH',
        'changzhoubei': 'ESH',
        'changzhuang': 'CVK',
        'chaohu': 'CIH',
        'chaohudong': 'GUH',
        'chaolianggou': 'CYP',
        'chaoshan': 'CBQ',
        'chaotian': 'CTE',
        'chaoyang': 'CNQ',
        'chaoyangchuan': 'CYL',
        'chaoyangdi': 'CDD',
        'chaoyangnan': 'CYD',
        'chaoyangzhen': 'CZL',
        'chaozhou': 'CKQ',
        'chasuqi': 'CSC',
        'chengcheng': 'CUY',
        'chengde': 'CDP',
        'chengdedong': 'CCP',
        'chengdu': 'CDW',
        'chengdudong': 'ICW',
        'chengdunan': 'CNW',
        'chenggaozi': 'CZB',
        'chenggu': 'CGY',
        'chenggubei': 'CBY',
        'chengjisihan': 'CJX',
        'chenguanying': 'CAJ',
        'chengyang': 'CEK',
        'chengzitan': 'CWT',
        'chenming': 'CMB',
        'chenqing': 'CQB',
        'chenxi': 'CXQ',
        'chenxiangtun': 'CXT',
        'chenzhou': 'CZQ',
        'chenzhouxi': 'ICQ',
        'chezhuanwan': 'CWM',
        'chibi': 'CBN',
        'chibibei': 'CIN',
        'chifeng': 'CFD',
        'chifengxi': 'CID',
        'chizhou': 'IYH',
        'chongqing': 'CQW',
        'chongqingbei': 'CUW',
        'chongqingnan': 'CRW',
        'chongqingxi': 'CXW',
        'chongren': 'CRG',
        'chongzuo': 'CZZ',
        'chuangyecun': 'CEX',
        'chunwan': 'CQQ',
        'chunyang': 'CAL',
        'chushan': 'CSB',
        'chuxiongnan': 'COM',
        'chuzhou': 'CXH',
        'chuzhoubei': 'CUH',
        'cili': 'CUQ',
        'cishan': 'CSP',
        'cixi': 'CRP',
        'cixian': 'CIP',
        'ciyao': 'CYK',
        'congjiang': 'KNW',
        'cuihuangkou': 'CHP',
        'cuogang': 'CAX',
        'daan': 'RAT',
        'daanbei': 'RNT',
        'daba': 'DBJ',
        'daban': 'DBC',
        'dachaigou': 'DGJ',
        'dacheng': 'DCT',
        'dadenggou': 'DKJ',
        'dafangnan': 'DNE',
        'dafeng': 'KRQ',
        'daguan': 'RGW',
        'daguantun': 'DTT',
        'dagushan': 'RMT',
        'dahongqi': 'DQD',
        'dahuichang': 'DHP',
        'dahushan': 'DHD',
        'dailing': 'DLB',
        'daixian': 'DKV',
        'daiyue': 'RYV',
        'dajiagou': 'DJT',
        'dajian': 'DFP',
        'daju': 'DIM',
        'dakoutun': 'DKP',
        'dalangzhen': 'KOQ',
        'dalateqi': 'DIC',
        'dalatexi': 'DNC',
        'dali': 'DKM',
        'dalian': 'DLT',
        'dalianbei': 'DFT',
        'dalianxi': 'GZT',
        'dalin': 'DLD',
        'daluhao': 'DLC',
        'dandong': 'DUT',
        'dandongxi': 'RWT',
        'danfeng': 'DGY',
        'dangshan': 'DKH',
        'dangshannan': 'PRH',
        'dangtudong': 'OWH',
        'dangyang': 'DYN',
        'dani': 'DNZ',
        'dantu': 'RUH',
        'danxiashan': 'IRQ',
        'danyang': 'DYH',
        'danyangbei': 'EXH',
        'daobao': 'RBT',
        'daoerdeng': 'DRD',
        'daojiao': 'RRQ',
        'daoqing': 'DML',
        'daozhou': 'DFZ',
        'dapanshi': 'RPP',
        'dapingfang': 'DPD',
        'dapu': 'DPI',
        'daqilaha': 'DQX',
        'daqing': 'DZX',
        'daqingdong': 'LFX',
        'daqinggou': 'DSD',
        'daqingxi': 'RHX',
        'dashiqiao': 'DQT',
        'dashitou': 'DSL',
        'dashitounan': 'DAL',
        'dashizhai': 'RZT',
        'datianbian': 'DBM',
        'datong': 'DTV',
        'datongxi': 'DTO',
        'datun': 'DNT',
        'dawang': 'WWQ',
        'dawangtan': 'DZZ',
        'dawanzi': 'DFM',
        'dawukou': 'DFJ',
        'daxing': 'DXX',
        'daxinggou': 'DXL',
        'dayan': 'DYX',
        'dayangshu': 'DUX',
        'dayebei': 'DBN',
        'daying': 'DYV',
        'dayingdong': 'IAW',
        'dayingzhen': 'DJP',
        'dayingzi': 'DZD',
        'dayu': 'DYG',
        'dayuan': 'DYZ',
        'dazhanchang': 'DTJ',
        'dazhangzi': 'DAP',
        'dazhou': 'RXW',
        'dazhuyuan': 'DZY',
        'dazunan': 'FQW',
        'dean': 'DAG',
        'debao': 'RBZ',
        'debosi': 'RDT',
        'dechang': 'DVW',
        'deerbuer': 'DRX',
        'dehui': 'DHT',
        'dehuixi': 'DXT',
        'delingha': 'DHO',
        'dengshahe': 'DWT',
        'dengta': 'DGT',
        'dengzhou': 'DOF',
        'deqing': 'DRH',
        'deqingxi': 'MOH',
        'dexing': 'DWG',
        'dexingdong': 'DDG',
        'deyang': 'DYW',
        'dezhou': 'DZP',
        'dezhoudong': 'DIP',
        'dianjiang': 'DJE',
        'dianxin': 'DXM',
        'didao': 'DDB',
        'dingbian': 'DYJ',
        'dinghudong': 'UWQ',
        'dinghushan': 'NVQ',
        'dingnan': 'DNG',
        'dingtao': 'DQK',
        'dingxi': 'DSJ',
        'dingxiang': 'DXV',
        'dingxibei': 'DNJ',
        'dingyuan': 'EWH',
        'dingzhou': 'DXP',
        'dingzhoudong': 'DOP',
        'diwopu': 'DWJ',
        'dizhuang': 'DVQ',
        'dongandong': 'DCZ',
        'dongbianjing': 'DBB',
        'dongcha': 'DCJ',
        'dongchengnan': 'IYQ',
        'dongdaihe': 'RDD',
        'dongerdaohe': 'DRB',
        'dongfang': 'UFQ',
        'dongfanghong': 'DFB',
        'dongfeng': 'DIL',
        'donggangbei': 'RGT',
        'dongguan': 'RTQ',
        'dongguandong': 'DMQ',
        'dongguang': 'DGP',
        'donghai': 'DHB',
        'donghaixian': 'DQH',
        'dongjin': 'DKB',
        'dongjing': 'FWQ',
        'dongjingcheng': 'DJB',
        'donglai': 'RVD',
        'dongmiaohe': 'DEP',
        'dongmingcun': 'DMD',
        'dongmingxian': 'DNF',
        'dongsheng': 'DOC',
        'dongshengxi': 'DYC',
        'dongtai': 'DBH',
        'dongtonghua': 'DTL',
        'dongwan': 'DRJ',
        'dongxiang': 'DXG',
        'dongxinzhuang': 'DXD',
        'dongxu': 'RXP',
        'dongying': 'DPK',
        'dongyingnan': 'DOK',
        'dongyudi': 'DBV',
        'dongzhen': 'DNV',
        'dongzhi': 'DCH',
        'dongzhuang': 'DZV',
        'douluo': 'DLV',
        'douzhangzhuang': 'RZP',
        'douzhuang': 'ROP',
        'duanzhou': 'WZQ',
        'duchang': 'DCG',
        'duge': 'DMM',
        'duiqingshan': 'DQB',
        'duizhen': 'DWV',
        'dujia': 'DJL',
        'dujiangyan': 'DDW',
        'dulitun': 'DTX',
        'dunhua': 'DHL',
        'dunhuang': 'DHJ',
        'dushan': 'RWW',
        'dushupu': 'DPM',
        'duyun': 'RYW',
        'duyundong': 'KJW',
        'ebian': 'EBW',
        'eerduosi': 'EEC',
        'ejina': 'EJC',
        'emei': 'EMW',
        'emeishan': 'IXW',
        'enshi': 'ESN',
        'epanggong': 'EGY',
        'erdaogoumen': 'RDP',
        'erdaowan': 'RDX',
        'erlian': 'RLC',
        'erlong': 'RLD',
        'erlongshantun': 'ELA',
        'ermihe': 'RML',
        'erying': 'RYJ',
        'ezhou': 'ECN',
        'ezhoudong': 'EFN',
        'faer': 'FEM',
        'fanchangxi': 'PUH',
        'fangchenggangbei': 'FBZ',
        'fanjiatun': 'FTT',
        'fanshi': 'FSV',
        'fanzhen': 'VZK',
        'faqi': 'FQE',
        'feidong': 'FIH',
        'feixian': 'FXK',
        'fengcheng': 'FCG',
        'fengchengdong': 'FDT',
        'fengchengnan': 'FNG',
        'fengdu': 'FUW',
        'fenghua': 'FHH',
        'fenghuangcheng': 'FHT',
        'fenghuangjichang': 'FJQ',
        'fenglezhen': 'FZB',
        'fenglin': 'FLN',
        'fenglingdu': 'FLV',
        'fengshuicun': 'FSJ',
        'fengshun': 'FUQ',
        'fengtun': 'FTX',
        'fengxian': 'FXY',
        'fengyang': 'FUH',
        'fengzhen': 'FZC',
        'fengzhou': 'FZY',
        'fenhe': 'FEV',
        'fenyang': 'FAV',
        'fenyi': 'FYG',
        'foping': 'FUY',
        'foshan': 'FSQ',
        'foshanxi': 'FOQ',
        'fuan': 'FAS',
        'fuchuan': 'FDZ',
        'fuding': 'FES',
        'fuhai': 'FHR',
        'fujin': 'FIB',
        'fulaerji': 'FRX',
        'fuling': 'FLW',
        'fulingbei': 'FEW',
        'fuliqu': 'FLJ',
        'fulitun': 'FTB',
        'funan': 'FNH',
        'funing': 'FNP',
        'fuqing': 'FQS',
        'fuquan': 'VMW',
        'furongnan': 'KCQ',
        'fushankou': 'FKP',
        'fushanzhen': 'FZQ',
        'fusheng': 'FAW',
        'fushun': 'FST',
        'fushunbei': 'FET',
        'fusong': 'FSL',
        'fusui': 'FSZ',
        'futian': 'NZQ',
        'futuyu': 'FYP',
        'fuxian': 'FEY',
        'fuxiandong': 'FDY',
        'fuxinnan': 'FXD',
        'fuyang': 'FYH',
        'fuyu': 'FYT',
        'fuyuan': 'FYM',
        'fuyuanbei': 'FBM',
        'fuyubei': 'FBT',
        'fuzhou': 'FZS',
        'fuzhoubei': 'FBG',
        'fuzhoudong': 'FDG',
        'fuzhounan': 'FYS',
        'gaizhou': 'GXT',
        'gaizhouxi': 'GAT',
        'gancaodian': 'GDJ',
        'gangou': 'GGL',
        'gangu': 'GGJ',
        'ganhe': 'GAX',
        'ganluo': 'VOW',
        'ganqika': 'GQD',
        'ganquan': 'GQY',
        'ganquanbei': 'GEY',
        'ganshui': 'GSW',
        'ganshuidong': 'GDE',
        'gantang': 'GNJ',
        'ganzhou': 'GZG',
        'gaoan': 'GCG',
        'gaobeidian': 'GBP',
        'gaobeidiandong': 'GMP',
        'gaocheng': 'GEP',
        'gaochengnan': 'GUP',
        'gaocun': 'GCV',
        'gaogezhuang': 'GGP',
        'gaohua': 'HGD',
        'gaolan': 'GEJ',
        'gaoloufang': 'GFM',
        'gaomi': 'GMK',
        'gaoping': 'GPF',
        'gaoqiaozhen': 'GZD',
        'gaoshanzi': 'GSD',
        'gaotai': 'GTJ',
        'gaotainan': 'GAJ',
        'gaotan': 'GAY',
        'gaoyi': 'GIP',
        'gaoyixi': 'GNP',
        'gaozhou': 'GSQ',
        'gashidianzi': 'GXD',
        'gediannan': 'GNN',
        'geermu': 'GRO',
        'gegenmiao': 'GGT',
        'geju': 'GEM',
        'genhe': 'GEX',
        'gongcheng': 'GCZ',
        'gongmiaozi': 'GMC',
        'gongnonghu': 'GRT',
        'gongpengzi': 'GPT',
        'gongqingcheng': 'GAG',
        'gongyi': 'GXF',
        'gongyinan': 'GYF',
        'gongyingzi': 'GYD',
        'gongzhuling': 'GLT',
        'gongzhulingnan': 'GBT',
        'goubangzi': 'GBD',
        'guan': 'GFP',
        'guangan': 'VJW',
        'guangannan': 'VUW',
        'guangao': 'GVP',
        'guangde': 'GRH',
        'guanghan': 'GHW',
        'guanghanbei': 'GVW',
        'guangmingcheng': 'IMQ',
        'guangnanwei': 'GNM',
        'guangnanxian': 'GXM',
        'guangning': 'FBQ',
        'guangningsi': 'GQT',
        'guangningsinan': 'GNT',
        'guangshan': 'GUN',
        'guangshui': 'GSN',
        'guangtongbei': 'GPM',
        'guangyuan': 'GYW',
        'guangyuannan': 'GAW',
        'guangze': 'GZS',
        'guangzhou': 'GZQ',
        'guangzhoubei': 'GBQ',
        'guangzhoudong': 'GGQ',
        'guangzhounan': 'IZQ',
        'guangzhouxi': 'GXQ',
        'guanlin': 'GLF',
        'guanling': 'GLE',
        'guanshaling': 'FKQ',
        'guanshui': 'GST',
        'guanting': 'GTP',
        'guantingxi': 'KEP',
        'guanzhaishan': 'GSS',
        'guanzijing': 'GOT',
        'guazhou': 'GZJ',
        'gucheng': 'GCN',
        'guchengzhen': 'GZB',
        'gudong': 'GDV',
        'guian': 'GAE',
        'guiding': 'GTW',
        'guidingbei': 'FMW',
        'guidingnan': 'IDW',
        'guidingxian': 'KIW',
        'guigang': 'GGZ',
        'guilin': 'GLZ',
        'guilinbei': 'GBZ',
        'guilinxi': 'GEZ',
        'guiliuhe': 'GHT',
        'guiping': 'GAZ',
        'guixi': 'GXG',
        'guiyang': 'GIW',
        'guiyangbei': 'KQW',
        'guiyangdong': 'KEW',
        'gujiao': 'GJV',
        'gujiazi': 'GKT',
        'gulang': 'GLJ',
        'gulian': 'GRX',
        'guojiadian': 'GDT',
        'guoleizhuang': 'GLP',
        'guosong': 'GSL',
        'guoyang': 'GYH',
        'guozhen': 'GZY',
        'gushan': 'FFQ',
        'gushankou': 'GSP',
        'gushi': 'GXN',
        'gutian': 'GTS',
        'gutianbei': 'GBS',
        'gutianhuizhi': 'STS',
        'guyuan': 'GYL',
        'guzhen': 'GNQ',
        'hadapu': 'HDJ',
        'haerbin': 'HBB',
        'haerbinbei': 'HTB',
        'haerbindong': 'VBB',
        'haerbinxi': 'VAB',
        'haianxian': 'HIH',
        'haibei': 'HEB',
        'haicheng': 'HCT',
        'haichengxi': 'HXT',
        'haidongxi': 'HDO',
        'haikou': 'VUQ',
        'haikoudong': 'HMQ',
        'hailaer': 'HRX',
        'hailin': 'HRB',
        'hailong': 'HIL',
        'hailun': 'HLB',
        'haining': 'HNH',
        'hainingxi': 'EUH',
        'haishiwan': 'HSO',
        'haituozi': 'HZT',
        'haiwan': 'RWH',
        'haiyang': 'HYK',
        'haiyangbei': 'HEK',
        'halahai': 'HIT',
        'halasu': 'HAX',
        'hami': 'HMR',
        'hancheng': 'HCY',
        'hanchuan': 'HCN',
        'hanconggou': 'HKB',
        'handan': 'HDP',
        'handandong': 'HPP',
        'hanfuwan': 'HXJ',
        'hangjinhouqi': 'HDC',
        'hangu': 'HGP',
        'hangzhou': 'HZH',
        'hangzhoudong': 'HGH',
        'hangzhounan': 'XHH',
        'hanjiang': 'HJS',
        'hankou': 'HKN',
        'hanling': 'HAT',
        'hanmaying': 'HYP',
        'hanshou': 'VSQ',
        'hanyin': 'HQY',
        'hanyuan': 'WHW',
        'hanzhong': 'HOY',
        'haolianghe': 'HHB',
        'hebei': 'HMB',
        'hebi': 'HAF',
        'hebian': 'HBV',
        'hebidong': 'HFF',
        'hechuan': 'WKW',
        'hechun': 'HCZ',
        'hefei': 'HFH',
        'hefeibeicheng': 'COH',
        'hefeinan': 'ENH',
        'hefeixi': 'HTH',
        'hegang': 'HGB',
        'heichongtan': 'HCJ',
        'heihe': 'HJB',
        'heijing': 'HIM',
        'heishui': 'HOT',
        'heitai': 'HQB',
        'heiwang': 'HWK',
        'hejiadian': 'HJJ',
        'hejianxi': 'HXP',
        'hejin': 'HJV',
        'hejing': 'HJR',
        'hekoubei': 'HBM',
        'hekounan': 'HKJ',
        'heli': 'HOB',
        'helong': 'HLL',
        'hengdaohezi': 'HDB',
        'hengfeng': 'HFG',
        'henggouqiaodong': 'HNN',
        'hengnan': 'HNG',
        'hengshan': 'HSQ',
        'hengshanxi': 'HEQ',
        'hengshui': 'HSP',
        'hengshuibei': 'IHP',
        'hengyang': 'HYQ',
        'hengyangdong': 'HVQ',
        'heping': 'VAQ',
        'hepu': 'HVZ',
        'heqing': 'HQM',
        'heshengqiaodong': 'HLN',
        'heshituoluogai': 'VSR',
        'heshuo': 'VUR',
        'hetang': 'KXQ',
        'hetian': 'VTR',
        'heyang': 'HAY',
        'heyangbei': 'HTY',
        'heyuan': 'VIQ',
        'heze': 'HIK',
        'hezhou': 'HXZ',
        'hongan': 'HWN',
        'honganxi': 'VXN',
        'hongguangzhen': 'IGW',
        'hongguo': 'HEM',
        'honghe': 'HPB',
        'honghuagou': 'VHD',
        'hongjiang': 'HFM',
        'hongqing': 'HEY',
        'hongshan': 'VSB',
        'hongshaxian': 'VSJ',
        'hongsipu': 'HSJ',
        'hongtong': 'HDV',
        'hongtongxi': 'HTV',
        'hongxiantai': 'HTJ',
        'hongxing': 'VXB',
        'hongxinglong': 'VHB',
        'hongyan': 'VIX',
        'houhu': 'IHN',
        'houma': 'HMV',
        'houmaxi': 'HPV',
        'houmen': 'KMQ',
        'huacheng': 'VCQ',
        'huade': 'HGC',
        'huahu': 'KHN',
        'huaian': 'AUH',
        'huaiannan': 'AMH',
        'huaibei': 'HRH',
        'huaibeibei': 'PLH',
        'huaibin': 'HVN',
        'huaihua': 'HHQ',
        'huaihuanan': 'KAQ',
        'huaiji': 'FAQ',
        'huainan': 'HAH',
        'huainandong': 'HOH',
        'huairen': 'HRV',
        'huairendong': 'HFV',
        'huairou': 'HRP',
        'huairoubei': 'HBP',
        'huaiyin': 'IYN',
        'huajia': 'HJT',
        'huajiazhuang': 'HJM',
        'hualin': 'HIB',
        'huanan': 'HNB',
        'huangbai': 'HBL',
        'huangchuan': 'KCN',
        'huangcun': 'HCP',
        'huanggang': 'KGN',
        'huanggangdong': 'KAN',
        'huanggangxi': 'KXN',
        'huangguayuan': 'HYM',
        'huanggutun': 'HTT',
        'huanghejingqu': 'HCF',
        'huanghuatong': 'HUD',
        'huangkou': 'KOH',
        'huangling': 'ULY',
        'huanglingnan': 'VLY',
        'huangliu': 'KLQ',
        'huangmei': 'VEH',
        'huangnihe': 'HHL',
        'huangshan': 'HKH',
        'huangshanbei': 'NYH',
        'huangshi': 'HSN',
        'huangshibei': 'KSN',
        'huangshidong': 'OSN',
        'huangsongdian': 'HDL',
        'huangtudian': 'HKP',
        'huangyangtan': 'HGJ',
        'huangyangzhen': 'HYJ',
        'huangyuan': 'HNO',
        'huangzhou': 'VON',
        'huantai': 'VTK',
        'huanxintian': 'VTB',
        'huapengzi': 'HZM',
        'huaqiao': 'VQH',
        'huarong': 'HRN',
        'huarongdong': 'HPN',
        'huarongnan': 'KRN',
        'huashan': 'HSY',
        'huashanbei': 'HDY',
        'huashannan': 'KNN',
        'huaying': 'HUW',
        'huayuan': 'HUN',
        'huayuankou': 'HYT',
        'huazhou': 'HZZ',
        'huhehaote': 'HHC',
        'huhehaotedong': 'NDC',
        'huian': 'HNS',
        'huichangbei': 'XEG',
        'huidong': 'KDQ',
        'huihuan': 'KHQ',
        'huinong': 'HMJ',
        'huishan': 'VCH',
        'huitong': 'VTQ',
        'huixian': 'HYY',
        'huizhou': 'HCQ',
        'huizhounan': 'KNQ',
        'huizhouxi': 'VXQ',
        'hukou': 'HKG',
        'hulan': 'HUB',
        'hulin': 'VLB',
        'huludao': 'HLD',
        'huludaobei': 'HPD',
        'hulusitai': 'VTJ',
        'humen': 'IUQ',
        'hunchun': 'HUL',
        'hunhe': 'HHT',
        'huocheng': 'SER',
        'huoerguosi': 'HFR',
        'huojia': 'HJF',
        'huolianzhai': 'HLT',
        'huolinguole': 'HWD',
        'huoqiu': 'FBH',
        'huozhou': 'HZV',
        'huozhoudong': 'HWV',
        'hushiha': 'HHP',
        'hushitai': 'HUT',
        'huyi': 'KXY',
        'huzhou': 'VZH',
        'jiafeng': 'JFF',
        'jiagedaqi': 'JGX',
        'jialuhe': 'JLF',
        'jiamusi': 'JMB',
        'jian': 'VAG',
        'jianan': 'JUL',
        'jianchang': 'JFD',
        'jianfeng': 'PFQ',
        'jiangbiancun': 'JBG',
        'jiangdu': 'UDH',
        'jianghua': 'JHZ',
        'jiangjia': 'JJB',
        'jiangjin': 'JJW',
        'jiangle': 'JLS',
        'jiangmendong': 'JWQ',
        'jiangning': 'JJH',
        'jiangningxi': 'OKH',
        'jiangqiao': 'JQX',
        'jiangshan': 'JUH',
        'jiangsuotian': 'JOM',
        'jiangyan': 'UEH',
        'jiangyong': 'JYZ',
        'jiangyou': 'JFW',
        'jiangyoubei': 'JBE',
        'jiangyuan': 'SZL',
        'jianhu': 'AJH',
        'jianmenguan': 'JME',
        'jianningxianbei': 'JCS',
        'jianou': 'JVS',
        'jianouxi': 'JUS',
        'jiansanjiang': 'JIB',
        'jianshan': 'JPQ',
        'jianshe': 'JET',
        'jianshi': 'JRN',
        'jianshui': 'JSM',
        'jianyang': 'JYW',
        'jianyangnan': 'JOW',
        'jiaocheng': 'JNV',
        'jiaohe': 'JHL',
        'jiaohexi': 'JOL',
        'jiaomei': 'JES',
        'jiaozhou': 'JXK',
        'jiaozhoubei': 'JZK',
        'jiaozuo': 'JOF',
        'jiaozuodong': 'WEF',
        'jiashan': 'JOP',
        'jiashannan': 'EAH',
        'jiaxiang': 'JUK',
        'jiaxing': 'JXH',
        'jiaxingnan': 'EPH',
        'jiaxinzi': 'JXT',
        'jiayuguan': 'JGJ',
        'jiayuguannan': 'JBJ',
        'jidong': 'JOB',
        'jieshoushi': 'JUN',
        'jiexiu': 'JXV',
        'jiexiudong': 'JDV',
        'jieyang': 'JRQ',
        'jiguanshan': 'JST',
        'jijiagou': 'VJD',
        'jilin': 'JLL',
        'jiling': 'JLJ',
        'jimobei': 'JVK',
        'jinan': 'JNK',
        'jinandong': 'JAK',
        'jinanxi': 'JGK',
        'jinbaotun': 'JBD',
        'jinchang': 'JCJ',
        'jincheng': 'JCF',
        'jinchengbei': 'JEF',
        'jinchengjiang': 'JJZ',
        'jingbian': 'JIY',
        'jingchuan': 'JAJ',
        'jingde': 'NSH',
        'jingdezhen': 'JCG',
        'jingdezhenbei': 'JDG',
        'jingdian': 'JFP',
        'jinggangshan': 'JGG',
        'jinghai': 'JHP',
        'jinghe': 'JHR',
        'jinghenan': 'JIR',
        'jingmen': 'JMN',
        'jingnan': 'JNP',
        'jingoutun': 'VGP',
        'jingpeng': 'JPC',
        'jingshan': 'JCN',
        'jingtai': 'JTJ',
        'jingtieshan': 'JVJ',
        'jingxi': 'JMZ',
        'jingxian': 'LOH',
        'jingxing': 'JJP',
        'jingyu': 'JYL',
        'jingyuan': 'JYJ',
        'jingyuanxi': 'JXJ',
        'jingzhou': 'JEQ',
        'jinhai': 'JHD',
        'jinhe': 'JHX',
        'jinhua': 'JBH',
        'jinhuanan': 'RNH',
        'jining': 'JIK',
        'jiningnan': 'JAC',
        'jinjiang': 'JJS',
        'jinjie': 'JEY',
        'jinkeng': 'JKT',
        'jinmacun': 'JMM',
        'jinshanbei': 'EGH',
        'jinshantun': 'JTB',
        'jinxian': 'JUG',
        'jinxiannan': 'JXG',
        'jinyintan': 'JTN',
        'jinyuewan': 'PYQ',
        'jinyun': 'JYH',
        'jinyunxi': 'PYH',
        'jinzhai': 'JZH',
        'jinzhangzi': 'JYD',
        'jinzhong': 'JZV',
        'jinzhou': 'JXP',
        'jinzhounan': 'JOD',
        'jishan': 'JVV',
        'jishou': 'JIQ',
        'jishu': 'JSL',
        'jiujiang': 'JJG',
        'jiulangshan': 'KJQ',
        'jiuquan': 'JQJ',
        'jiuquannan': 'JNJ',
        'jiusan': 'SSX',
        'jiutai': 'JTL',
        'jiutainan': 'JNL',
        'jiuzhuangwo': 'JVP',
        'jiwen': 'JWX',
        'jixi': 'JXB',
        'jixibei': 'NRH',
        'jixixian': 'JRH',
        'jiyuan': 'JYF',
        'jizhou': 'JKP',
        'juancheng': 'JCK',
        'jubao': 'JRT',
        'junan': 'JOK',
        'junde': 'JDB',
        'junliangchengbei': 'JMP',
        'jurongxi': 'JWH',
        'juxian': 'JKK',
        'juye': 'JYK',
        'kaian': 'KAT',
        'kaifeng': 'KFF',
        'kaifengbei': 'KBF',
        'kaifusi': 'FLQ',
        'kaihua': 'KHU',
        'kaijiang': 'KAW',
        'kaili': 'KLW',
        'kailinan': 'QKW',
        'kailu': 'KLC',
        'kaitong': 'KTT',
        'kaiyang': 'KVW',
        'kaiyuan': 'KYT',
        'kaiyuanxi': 'KXT',
        'kalaqi': 'KQX',
        'kangcheng': 'KCP',
        'kangjinjing': 'KJB',
        'kangxiling': 'KXZ',
        'kangzhuang': 'KZP',
        'kashi': 'KSR',
        'kedong': 'KOB',
        'kelamayi': 'KHR',
        'kelan': 'KLV',
        'keshan': 'KSB',
        'keyihe': 'KHX',
        'kouqian': 'KQL',
        'kuandian': 'KDT',
        'kuche': 'KCR',
        'kuduer': 'KDX',
        'kuerle': 'KLR',
        'kuishan': 'KAB',
        'kuitan': 'KTQ',
        'kuitun': 'KTR',
        'kulun': 'KLD',
        'kundulunzhao': 'KDC',
        'kunming': 'KMM',
        'kunmingnan': 'KOM',
        'kunmingxi': 'KXM',
        'kunshan': 'KSH',
        'kunshannan': 'KNH',
        'kunyang': 'KAM',
        'lagu': 'LGB',
        'laha': 'LHX',
        'laibin': 'UBZ',
        'laibinbei': 'UCZ',
        'laituan': 'LVZ',
        'laiwudong': 'LWK',
        'laiwuxi': 'UXK',
        'laixi': 'LXK',
        'laixibei': 'LBK',
        'laiyang': 'LYK',
        'laiyuan': 'LYP',
        'laizhou': 'LZS',
        'lalin': 'LAB',
        'lamadian': 'LMX',
        'lancun': 'LCK',
        'langang': 'LNB',
        'langfang': 'LJP',
        'langfangbei': 'LFP',
        'langweishan': 'LRJ',
        'langxiang': 'LXB',
        'langzhong': 'LZE',
        'lankao': 'LKF',
        'lankaonan': 'LUF',
        'lanling': 'LLB',
        'lanlingbei': 'COK',
        'lanxi': 'LWH',
        'lanzhou': 'LZJ',
        'lanzhoudong': 'LVJ',
        'lanzhouxi': 'LAJ',
        'lanzhouxinqu': 'LQJ',
        'laobian': 'LLT',
        'laochengzhen': 'ACQ',
        'laofu': 'UFD',
        'laolai': 'LAX',
        'laoying': 'LXL',
        'lasa': 'LSO',
        'lazha': 'LEM',
        'lechang': 'LCQ',
        'lechangdong': 'ILQ',
        'ledong': 'UQQ',
        'ledu': 'LDO',
        'ledunan': 'LVO',
        'leiyang': 'LYQ',
        'leiyangxi': 'LPQ',
        'leizhou': 'UAQ',
        'lengshuijiangdong': 'UDQ',
        'lepingshi': 'LPG',
        'leshan': 'IVW',
        'leshanbei': 'UTW',
        'leshancun': 'LUM',
        'liangdang': 'LDY',
        'liangdixia': 'LDP',
        'lianggezhuang': 'LGP',
        'liangjia': 'UJT',
        'liangjiadian': 'LRT',
        'liangping': 'UQW',
        'liangpingnan': 'LPE',
        'liangshan': 'LMK',
        'lianjiang': 'LJZ',
        'lianjiangkou': 'LHB',
        'lianshanguan': 'LGT',
        'lianyuan': 'LAQ',
        'lianyungang': 'UIH',
        'lianyungangdong': 'UKH',
        'liaobu': 'LTQ',
        'liaocheng': 'UCK',
        'liaoyang': 'LYT',
        'liaoyuan': 'LYL',
        'liaozhong': 'LZD',
        'licheng': 'UCP',
        'lichuan': 'LCN',
        'liduigongyuan': 'INW',
        'lijia': 'LJB',
        'lijiang': 'LHM',
        'lijiaping': 'LIJ',
        'lijinnan': 'LNK',
        'lilinbei': 'KBQ',
        'liling': 'LLG',
        'lilingdong': 'UKQ',
        'limudian': 'LMB',
        'lincheng': 'UUP',
        'linchuan': 'LCG',
        'lindong': 'LRC',
        'linfen': 'LFV',
        'linfenxi': 'LXV',
        'lingaonan': 'KGQ',
        'lingbao': 'LBF',
        'lingbaoxi': 'LPF',
        'lingbi': 'GMH',
        'lingcheng': 'LGK',
        'linghai': 'JID',
        'lingling': 'UWZ',
        'lingqiu': 'LVV',
        'lingshi': 'LSV',
        'lingshidong': 'UDV',
        'lingshui': 'LIQ',
        'lingwu': 'LNJ',
        'lingyuan': 'LYD',
        'lingyuandong': 'LDD',
        'linhai': 'UFH',
        'linhe': 'LHC',
        'linjialou': 'ULK',
        'linjiang': 'LQL',
        'linkou': 'LKB',
        'linli': 'LWQ',
        'linqing': 'UQK',
        'linshengpu': 'LBT',
        'linxi': 'LXC',
        'linxiang': 'LXQ',
        'linyi': 'LUK',
        'linyibei': 'UYK',
        'linying': 'LNF',
        'linyuan': 'LYX',
        'linze': 'LEJ',
        'linzenan': 'LDJ',
        'liquan': 'LGY',
        'lishizhai': 'LET',
        'lishui': 'USH',
        'lishuzhen': 'LSB',
        'litang': 'LTZ',
        'liudaohezi': 'LVP',
        'liuhe': 'LNL',
        'liuhezhen': 'LEX',
        'liujiadian': 'UDT',
        'liujiahe': 'LVT',
        'liujiang': 'UQZ',
        'liulinnan': 'LKV',
        'liupanshan': 'UPJ',
        'liupanshui': 'UMW',
        'liushuigou': 'USP',
        'liushutun': 'LSD',
        'liuyuan': 'DHR',
        'liuyuannan': 'LNR',
        'liuzhi': 'LIW',
        'liuzhou': 'LZZ',
        'liwang': 'VLJ',
        'lixian': 'LEQ',
        'liyang': 'LEH',
        'lizhi': 'LZX',
        'longandong': 'IDZ',
        'longchang': 'LCW',
        'longchangbei': 'NWW',
        'longchuan': 'LUQ',
        'longdongbao': 'FVW',
        'longfeng': 'KFQ',
        'longgou': 'LGJ',
        'longgudian': 'LGM',
        'longhua': 'LHP',
        'longjia': 'UJL',
        'longjiang': 'LJX',
        'longjing': 'LJL',
        'longkoushi': 'UKK',
        'longli': 'LLW',
        'longlibei': 'KFW',
        'longnan': 'INJ',
        'longquansi': 'UQJ',
        'longshanzhen': 'LAS',
        'longshi': 'LAG',
        'longtangba': 'LBM',
        'longxi': 'LXJ',
        'longxian': 'LXY',
        'longyan': 'LYS',
        'longyou': 'LMH',
        'longzhen': 'LZA',
        'longzhuagou': 'LZT',
        'loudi': 'LDQ',
        'loudinan': 'UOQ',
        'loushanguannan': 'LSE',
        'luan': 'UAH',
        'luanhe': 'UDP',
        'luanheyan': 'UNP',
        'luanping': 'UPP',
        'luanxian': 'UXP',
        'luchaogang': 'UCH',
        'lucheng': 'UTP',
        'luchuan': 'LKZ',
        'ludao': 'LDL',
        'lueyang': 'LYY',
        'lufan': 'LVM',
        'lufeng': 'LLQ',
        'lufengnan': 'LQM',
        'lugou': 'LOM',
        'lugu': 'BNQ',
        'lujiang': 'UJH',
        'lukoupu': 'LKQ',
        'luliang': 'LRM',
        'lulong': 'UAP',
        'luntai': 'LAR',
        'luocheng': 'VCZ',
        'luofa': 'LOP',
        'luohe': 'LON',
        'luohexi': 'LBN',
        'luohuangnan': 'LNE',
        'luojiang': 'LJW',
        'luojiangdong': 'IKW',
        'luomen': 'LMJ',
        'luoping': 'LPM',
        'luopoling': 'LPP',
        'luoshan': 'LRN',
        'luotuoxiang': 'LTJ',
        'luowansanjiang': 'KRW',
        'luoyang': 'LYF',
        'luoyangdong': 'LDF',
        'luoyanglongmen': 'LLF',
        'luoyuan': 'LVS',
        'lushan': 'LSG',
        'lushuihe': 'LUL',
        'lutai': 'LTP',
        'luxi': 'LUG',
        'luzhai': 'LIZ',
        'luzhaibei': 'LSZ',
        'lvboyuan': 'LCF',
        'lvhua': 'LWJ',
        'lvliang': 'LHV',
        'lvshun': 'LST',
        'maanshan': 'MAH',
        'maanshandong': 'OMH',
        'macheng': 'MCN',
        'machengbei': 'MBN',
        'mahuang': 'MHZ',
        'maiyuan': 'MYS',
        'malan': 'MLR',
        'malianhe': 'MHB',
        'malin': 'MID',
        'malong': 'MGM',
        'manasi': 'MSR',
        'manasihu': 'MNR',
        'mangui': 'MHX',
        'manshuiwan': 'MKW',
        'manzhouli': 'MLX',
        'maoba': 'MBY',
        'maobaguan': 'MGY',
        'maocaoping': 'KPM',
        'maochen': 'MHN',
        'maoershan': 'MRB',
        'maolin': 'MLD',
        'maoling': 'MLZ',
        'maoming': 'MDQ',
        'maomingxi': 'MMZ',
        'maoshezu': 'MOM',
        'maqiaohe': 'MQB',
        'masanjia': 'MJT',
        'mashan': 'MAB',
        'mawei': 'VAW',
        'mayang': 'MVQ',
        'meihekou': 'MHL',
        'meilan': 'MHQ',
        'meishan': 'MSW',
        'meishandong': 'IUW',
        'meixi': 'MEB',
        'meizhou': 'MOQ',
        'mengdonghe': 'MUQ',
        'mengjiagang': 'MGB',
        'mengzhuang': 'MZF',
        'mengzi': 'MZM',
        'mengzibei': 'MBM',
        'menyuan': 'MYO',
        'mianchi': 'MCF',
        'mianchinan': 'MNF',
        'mianduhe': 'MDX',
        'mianning': 'UGW',
        'mianxian': 'MVY',
        'mianyang': 'MYW',
        'miaocheng': 'MAP',
        'miaoling': 'MLL',
        'miaoshan': 'MSN',
        'miaozhuang': 'MZJ',
        'midu': 'MDF',
        'mile': 'MLM',
        'miluo': 'MLQ',
        'miluodong': 'MQQ',
        'mingcheng': 'MCL',
        'minggang': 'MGN',
        'minggangdong': 'MDN',
        'mingguang': 'MGH',
        'mingshuihe': 'MUT',
        'mingzhu': 'MFQ',
        'minhenan': 'MNO',
        'minji': 'MJN',
        'minle': 'MBJ',
        'minqing': 'MQS',
        'minqingbei': 'MBS',
        'minquan': 'MQF',
        'minquanbei': 'MIF',
        'minxian': 'MXJ',
        'mishan': 'MSB',
        'mishazi': 'MST',
        'miyi': 'MMW',
        'miyunbei': 'MUP',
        'mizhi': 'MEY',
        'modaoshi': 'MOB',
        'moerdaoga': 'MRX',
        'mohe': 'MVX',
        'moyu': 'MUR',
        'mudanjiang': 'MDB',
        'muling': 'MLB',
        'mulitu': 'MUD',
        'mupang': 'MPQ',
        'muping': 'MBK',
        'muyun': 'KIQ',
        'nailin': 'NLD',
        'naiman': 'NMD',
        'naluo': 'ULZ',
        'nanboshan': 'NBK',
        'nanbu': 'NBE',
        'nancao': 'NEF',
        'nancha': 'NCB',
        'nanchang': 'NCG',
        'nanchangxi': 'NXG',
        'nancheng': 'NDG',
        'nanchengsi': 'NSP',
        'nanchong': 'NCW',
        'nanchongbei': 'NCE',
        'nandamiao': 'NMP',
        'nandan': 'NDZ',
        'nanfen': 'NFT',
        'nanfenbei': 'NUT',
        'nanfeng': 'NFG',
        'nangongdong': 'NFP',
        'nanguancun': 'NGP',
        'nanguanling': 'NLT',
        'nanhechuan': 'NHJ',
        'nanhuabei': 'NHS',
        'nanhudong': 'NDN',
        'nanjiang': 'FIW',
        'nanjiangkou': 'NDQ',
        'nanjing': 'NJS',
        'nanjingnan': 'NKH',
        'nankou': 'NKP',
        'nankouqian': 'NKT',
        'nanlang': 'NNQ',
        'nanling': 'LLH',
        'nanmu': 'NMX',
        'nanning': 'NNZ',
        'nanningdong': 'NFZ',
        'nanningxi': 'NXZ',
        'nanping': 'NPS',
        'nanpingbei': 'NBS',
        'nanpingnan': 'NNS',
        'nanqiao': 'NQD',
        'nanqiu': 'NCK',
        'nantai': 'NTT',
        'nantong': 'NUH',
        'nantou': 'NOQ',
        'nanwanzi': 'NWP',
        'nanxiangbei': 'NEH',
        'nanxiong': 'NCQ',
        'nanyang': 'NFF',
        'nanyangzhai': 'NYF',
        'nanyu': 'NUP',
        'nanzamu': 'NZT',
        'nanzhao': 'NAF',
        'napu': 'NPZ',
        'naqu': 'NQO',
        'nayong': 'NYE',
        'nehe': 'NHX',
        'neijiang': 'NJW',
        'neijiangbei': 'NKW',
        'neixiang': 'NXF',
        'nengjia': 'NJD',
        'nenjiang': 'NGX',
        'niangziguan': 'NIP',
        'nianzishan': 'NZX',
        'nihezi': 'NHD',
        'nileke': 'NIR',
        'nimu': 'NMO',
        'ningan': 'NAB',
        'ningbo': 'NGH',
        'ningbodong': 'NVH',
        'ningcun': 'NCZ',
        'ningde': 'NES',
        'ningdong': 'NOJ',
        'ningdongnan': 'NDJ',
        'ningguo': 'NNH',
        'ninghai': 'NHH',
        'ningjia': 'NVT',
        'ninglingxian': 'NLF',
        'ningming': 'NMZ',
        'ningqiangnan': 'NOY',
        'ningwu': 'NWV',
        'ningxiang': 'NXQ',
        'niujia': 'NJB',
        'niuxintai': 'NXT',
        'nongan': 'NAT',
        'nuanquan': 'NQJ',
        'paihuaibei': 'PHP',
        'pananzhen': 'PAJ',
        'panguan': 'PAM',
        'panjiadian': 'PDP',
        'panjin': 'PVD',
        'panjinbei': 'PBD',
        'panlongcheng': 'PNN',
        'panshan': 'PUD',
        'panshi': 'PSL',
        'panzhihua': 'PRW',
        'panzhou': 'PAE',
        'paozi': 'POD',
        'peide': 'PDB',
        'pengan': 'PAW',
        'penglaishi': 'POK',
        'pengshan': 'PSW',
        'pengshanbei': 'PPW',
        'pengshui': 'PHW',
        'pengyang': 'PYJ',
        'pengze': 'PZG',
        'pengzhou': 'PMW',
        'piandian': 'PRP',
        'pianling': 'PNT',
        'piaoertun': 'PRT',
        'pikou': 'PUT',
        'pikounan': 'PKT',
        'pingan': 'PAL',
        'pinganyi': 'PNO',
        'pinganzhen': 'PZT',
        'pingbanan': 'PBE',
        'pingbian': 'PBM',
        'pingchang': 'PCE',
        'pingdingshan': 'PEN',
        'pingdingshanxi': 'BFF',
        'pingdu': 'PAK',
        'pingfang': 'PFB',
        'pinggang': 'PGL',
        'pingguan': 'PGM',
        'pingguo': 'PGZ',
        'pinghekou': 'PHM',
        'pinghu': 'PHQ',
        'pingliang': 'PIJ',
        'pingliangnan': 'POJ',
        'pingnannan': 'PAZ',
        'pingquan': 'PQP',
        'pingshan': 'PSB',
        'pingshang': 'PSK',
        'pingshe': 'PSV',
        'pingshi': 'PSQ',
        'pingtai': 'PVT',
        'pingtian': 'PTM',
        'pingwang': 'PWV',
        'pingxiang': 'PXG',
        'pingxiangbei': 'PBG',
        'pingxingguan': 'PGV',
        'pingyang': 'PYX',
        'pingyao': 'PYV',
        'pingyaogucheng': 'PDV',
        'pingyi': 'PIK',
        'pingyu': 'PYP',
        'pingyuan': 'PYK',
        'pingyuandong': 'PUK',
        'pingyuanpu': 'PPJ',
        'pingzhuang': 'PZD',
        'pingzhuangnan': 'PND',
        'pishan': 'PSR',
        'pixian': 'PWW',
        'pixianxi': 'PCW',
        'pizhou': 'PJH',
        'podixia': 'PXJ',
        'poyang': 'PYG',
        'puan': 'PAN',
        'puanxian': 'PUE',
        'pucheng': 'PCY',
        'puchengdong': 'PEY',
        'puding': 'PGW',
        'pulandian': 'PLT',
        'puning': 'PEQ',
        'putaojing': 'PTW',
        'putian': 'PTS',
        'puwan': 'PWT',
        'puxiong': 'POW',
        'puyang': 'PYF',
        'puzhehei': 'PZM',
        'qianan': 'QOT',
        'qianfeng': 'QFB',
        'qianhe': 'QUY',
        'qianjiang': 'QJN',
        'qianjinzhen': 'QEB',
        'qianmotou': 'QMP',
        'qianshan': 'QXQ',
        'qianwei': 'QWD',
        'qianweitang': 'QWP',
        'qianxian': 'QBY',
        'qianyang': 'QOY',
        'qiaotou': 'QAT',
        'qiaoxi': 'QXJ',
        'qichun': 'QRN',
        'qidian': 'QDM',
        'qidong': 'QMQ',
        'qidongbei': 'QRQ',
        'qifengta': 'QVP',
        'qijiang': 'QJW',
        'qijiangdong': 'QDE',
        'qijiapu': 'QBT',
        'qilihe': 'QLD',
        'qimen': 'QIH',
        'qinan': 'QGJ',
        'qingan': 'QAB',
        'qingbaijiangdong': 'QFW',
        'qingchengshan': 'QSW',
        'qingchuan': 'QCE',
        'qingdao': 'QDK',
        'qingdaobei': 'QHK',
        'qingdui': 'QET',
        'qingfeng': 'QFT',
        'qinghe': 'QIP',
        'qinghecheng': 'QYP',
        'qinghemen': 'QHD',
        'qinghuayuan': 'QHP',
        'qingjianxian': 'QNY',
        'qinglian': 'QEW',
        'qinglong': 'QIB',
        'qinglongshan': 'QGH',
        'qingshan': 'QSB',
        'qingshen': 'QVW',
        'qingsheng': 'QSQ',
        'qingshui': 'QUJ',
        'qingshuibei': 'QEJ',
        'qingshuixian': 'QIJ',
        'qingtian': 'QVH',
        'qingtongxia': 'QTJ',
        'qingxian': 'QXP',
        'qingxu': 'QUV',
        'qingyangshan': 'QSJ',
        'qingyuan': 'QBQ',
        'qingzhoushi': 'QZK',
        'qinhuangdao': 'QTP',
        'qinjia': 'QJB',
        'qinjiazhuang': 'QZV',
        'qinling': 'QLY',
        'qinxian': 'QVV',
        'qinyang': 'QYF',
        'qinzhou': 'QRZ',
        'qinzhoudong': 'QDZ',
        'qionghai': 'QYQ',
        'qiqihaer': 'QHX',
        'qiqihaernan': 'QNB',
        'qishan': 'QAY',
        'qishuyan': 'QYH',
        'qitaihe': 'QTB',
        'qixian': 'QXV',
        'qixiandong': 'QGV',
        'qixiaying': 'QXC',
        'qixiayingnan': 'QNC',
        'qiyang': 'QWQ',
        'qiyangbei': 'QVQ',
        'qiying': 'QYJ',
        'qiziwan': 'QZQ',
        'quanjiao': 'INH',
        'quanyang': 'QYL',
        'quanzhou': 'QYS',
        'quanzhoudong': 'QRS',
        'quanzhounan': 'QNZ',
        'queshan': 'QSN',
        'qufu': 'QFK',
        'qufudong': 'QAK',
        'qujiang': 'QIM',
        'qujing': 'QJM',
        'qujingbei': 'QBM',
        'qujiu': 'QJZ',
        'quli': 'QLZ',
        'qushuixian': 'QSO',
        'quxian': 'QRW',
        'quzhou': 'QEH',
        'raoping': 'RVQ',
        'raoyang': 'RVP',
        'raoyanghe': 'RHD',
        'renbu': 'RUO',
        'renqiu': 'RQP',
        'reshui': 'RSD',
        'rikaze': 'RKO',
        'rizhao': 'RZK',
        'rongan': 'RAZ',
        'rongchang': 'RCW',
        'rongchangbei': 'RQW',
        'rongcheng': 'RCK',
        'ronggui': 'RUQ',
        'rongjiang': 'RVW',
        'rongshui': 'RSZ',
        'rongxian': 'RXZ',
        'rudong': 'RIH',
        'rugao': 'RBH',
        'ruian': 'RAH',
        'ruichang': 'RCG',
        'ruichangxi': 'RXG',
        'ruijin': 'RJG',
        'rujigou': 'RQJ',
        'rushan': 'ROK',
        'ruyang': 'RYF',
        'ruzhou': 'ROF',
        'saihantala': 'SHC',
        'salaqi': 'SLC',
        'sandaohu': 'SDL',
        'sanduxian': 'KKW',
        'sanggendalai': 'OGC',
        'sanguankou': 'OKJ',
        'sangyuanzi': 'SAJ',
        'sanhexian': 'OXP',
        'sanhezhuang': 'SVP',
        'sanhuizhen': 'OZW',
        'sanjiadian': 'ODP',
        'sanjianfang': 'SFX',
        'sanjiangkou': 'SKD',
        'sanjiangnan': 'SWZ',
        'sanjiangxian': 'SOZ',
        'sanjiazhai': 'SMM',
        'sanjingzi': 'OJT',
        'sanmenxia': 'SMF',
        'sanmenxian': 'OQH',
        'sanmenxianan': 'SCF',
        'sanmenxiaxi': 'SXF',
        'sanming': 'SMS',
        'sanmingbei': 'SHS',
        'sanshijia': 'SRD',
        'sanshilipu': 'SST',
        'sanshui': 'SJQ',
        'sanshuibei': 'ARQ',
        'sanshuinan': 'RNQ',
        'sansui': 'QHW',
        'santangji': 'SDH',
        'sanya': 'JUQ',
        'sanyangchuan': 'SYJ',
        'sanyijing': 'OYD',
        'sanying': 'OEJ',
        'sanyuan': 'SAY',
        'sanyuanpu': 'SYL',
        'shache': 'SCR',
        'shacheng': 'SCP',
        'shahai': 'SED',
        'shahe': 'SHP',
        'shahekou': 'SKT',
        'shaheshi': 'VOP',
        'shahousuo': 'SSD',
        'shalingzi': 'SLP',
        'shalingzixi': 'IXP',
        'shanchengzhen': 'SCL',
        'shandan': 'SDJ',
        'shangbancheng': 'SBP',
        'shangbanchengnan': 'OBP',
        'shangcheng': 'SWN',
        'shangdu': 'SXC',
        'shanggaozhen': 'SVK',
        'shanghai': 'SHH',
        'shanghaihongqiao': 'AOH',
        'shanghainan': 'SNH',
        'shanghaixi': 'SXH',
        'shanghang': 'JBS',
        'shanghe': 'SOK',
        'shangjia': 'SJB',
        'shangluo': 'OLY',
        'shangnan': 'ONY',
        'shangqiu': 'SQF',
        'shangqiunan': 'SPF',
        'shangrao': 'SRG',
        'shangwan': 'SWP',
        'shangxipu': 'SXM',
        'shangyaodun': 'SPJ',
        'shangyu': 'BDH',
        'shangyuan': 'SUD',
        'shangzhi': 'SZB',
        'shanhaiguan': 'SHD',
        'shanhetun': 'SHL',
        'shanpodong': 'SBN',
        'shanshan': 'SSR',
        'shanshanbei': 'SMR',
        'shanshi': 'SQB',
        'shantou': 'OTQ',
        'shanwei': 'OGQ',
        'shanyin': 'SNV',
        'shaodong': 'FIQ',
        'shaoguan': 'SNQ',
        'shaoguandong': 'SGQ',
        'shaojiatang': 'SJJ',
        'shaoshan': 'SSQ',
        'shaoshannan': 'INQ',
        'shaowu': 'SWS',
        'shaoxing': 'SOH',
        'shaoxingbei': 'SLH',
        'shaoxingdong': 'SSH',
        'shaoyang': 'SYQ',
        'shaoyangbei': 'OVQ',
        'shapingba': 'CYW',
        'shapotou': 'SFJ',
        'shaqiao': 'SQM',
        'shatuo': 'SFM',
        'shawanxian': 'SXR',
        'shaxian': 'SAS',
        'shelihu': 'VLD',
        'shenchi': 'SMV',
        'shenfang': 'OLH',
        'shengfang': 'SUP',
        'shenjia': 'OJB',
        'shenjiahe': 'OJJ',
        'shenjingzi': 'SWT',
        'shenmu': 'OMY',
        'shenqiu': 'SQN',
        'shenshu': 'SWB',
        'shentou': 'SEV',
        'shenyang': 'SYT',
        'shenyangbei': 'SBT',
        'shenyangdong': 'SDT',
        'shenyangnan': 'SOT',
        'shenzhen': 'SZQ',
        'shenzhenbei': 'IOQ',
        'shenzhendong': 'BJQ',
        'shenzhenpingshan': 'IFQ',
        'shenzhenxi': 'OSQ',
        'shenzhou': 'OZP',
        'shexian': 'OVH',
        'shexianbei': 'NPH',
        'shiba': 'OBJ',
        'shibing': 'AQW',
        'shiboyuan': 'ZWT',
        'shicheng': 'SCT',
        'shidu': 'SEP',
        'shihezi': 'SZR',
        'shijiazhuang': 'SJP',
        'shijiazhuangbei': 'VVP',
        'shijiazhuangdong': 'SXP',
        'shijiazi': 'SJD',
        'shijiazui': 'SHM',
        'shijingshannan': 'SRP',
        'shilidian': 'OMP',
        'shilin': 'SPB',
        'shiling': 'SOL',
        'shilinnan': 'LNM',
        'shilinxi': 'SYM',
        'shilong': 'SLQ',
        'shimenxian': 'OMQ',
        'shimenxianbei': 'VFQ',
        'shiqiao': 'SQE',
        'shiqiaozi': 'SQT',
        'shiquanxian': 'SXY',
        'shiren': 'SRL',
        'shirencheng': 'SRB',
        'shishan': 'KSQ',
        'shishanbei': 'NSQ',
        'shiti': 'STE',
        'shitou': 'OTB',
        'shixian': 'SXL',
        'shixiazi': 'SXJ',
        'shixing': 'IPQ',
        'shiyan': 'SNN',
        'shizhuang': 'SNM',
        'shizhuxian': 'OSW',
        'shizong': 'SEM',
        'shizuishan': 'QQJ',
        'shoushan': 'SAT',
        'shouyang': 'SYV',
        'shuangchengbei': 'SBB',
        'shuangchengpu': 'SCB',
        'shuangfeng': 'OFB',
        'shuangfengbei': 'NFQ',
        'shuanghezhen': 'SEL',
        'shuangji': 'SML',
        'shuangliao': 'ZJD',
        'shuangliujichang': 'IPW',
        'shuangliuxi': 'IQW',
        'shuangpai': 'SBZ',
        'shuangyang': 'OYT',
        'shuangyashan': 'SSB',
        'shucheng': 'OCH',
        'shuidong': 'SIL',
        'shuifu': 'OTW',
        'shuijiahu': 'SQH',
        'shuiquan': 'SID',
        'shuiyang': 'OYP',
        'shuiyuan': 'OYJ',
        'shulan': 'SLL',
        'shule': 'SUR',
        'shulehe': 'SHJ',
        'shumuling': 'FMQ',
        'shunchang': 'SCS',
        'shunde': 'ORQ',
        'shundexueyuan': 'OJQ',
        'shunyi': 'SOP',
        'shuozhou': 'SUV',
        'shuyang': 'FMH',
        'sidaowan': 'OUD',
        'sifangtai': 'STB',
        'siheyong': 'OHD',
        'sihong': 'GQH',
        'sihui': 'AHQ',
        'sijialing': 'OLK',
        'siping': 'SPT',
        'sipingdong': 'PPT',
        'sishui': 'OSK',
        'sixian': 'GPH',
        'siyang': 'MPH',
        'song': 'SOB',
        'songchenglu': 'SFF',
        'songhe': 'SBM',
        'songjiang': 'SAH',
        'songjianghe': 'SJL',
        'songjiangnan': 'IMH',
        'songjiangzhen': 'OZL',
        'songming': 'SVM',
        'songshanhubei': 'KUQ',
        'songshu': 'SFT',
        'songshuzhen': 'SSL',
        'songtao': 'MZQ',
        'songyuan': 'VYT',
        'songyuanbei': 'OCT',
        'songzi': 'SIN',
        'suide': 'ODY',
        'suifenhe': 'SFB',
        'suihua': 'SHB',
        'suiling': 'SIB',
        'suining': 'NIW',
        'suiping': 'SON',
        'suixi': 'SXZ',
        'suiyang': 'SYB',
        'suizhong': 'SZD',
        'suizhongbei': 'SND',
        'suizhou': 'SZN',
        'sujiatun': 'SXT',
        'suning': 'SYP',
        'sunitezuoqi': 'ONC',
        'sunjia': 'SUB',
        'sunwu': 'SKB',
        'sunzhen': 'OZY',
        'suolun': 'SNT',
        'suotuhan': 'SHX',
        'susong': 'OAH',
        'suzhou': 'OXH',
        'suzhoubei': 'OHH',
        'suzhoudong': 'SRH',
        'suzhouxinqu': 'ITH',
        'suzhouyuanqu': 'KAH',
        'taerqi': 'TVX',
        'taha': 'THX',
        'tahe': 'TXX',
        'taian': 'TID',
        'taiannan': 'TAD',
        'taigu': 'TGV',
        'taiguxi': 'TIV',
        'taihe': 'THG',
        'taihebei': 'JYN',
        'taihu': 'TKH',
        'taikang': 'TKX',
        'tailai': 'TLX',
        'taimushan': 'TLS',
        'taining': 'TNS',
        'taipingchuan': 'TIT',
        'taipingzhen': 'TEB',
        'taiqian': 'TTK',
        'taishan': 'TAK',
        'taiyangshan': 'TYJ',
        'taiyangsheng': 'TQT',
        'taiyuan': 'TYV',
        'taiyuanbei': 'TBV',
        'taiyuandong': 'TDV',
        'taiyuannan': 'TNV',
        'taizhou': 'TZH',
        'tancheng': 'TZK',
        'tangbao': 'TBQ',
        'tangchi': 'TCX',
        'tanggu': 'TGP',
        'tanghai': 'THM',
        'tanghe': 'THF',
        'tangjiawan': 'PDQ',
        'tangshan': 'TSP',
        'tangshanbei': 'FUP',
        'tangshancheng': 'TCT',
        'tangwanghe': 'THB',
        'tangxunhu': 'THN',
        'tangyin': 'TYF',
        'tangyuan': 'TYB',
        'tanjiajing': 'TNJ',
        'taocun': 'TCK',
        'taocunbei': 'TOK',
        'taojiatun': 'TOT',
        'taolaizhao': 'TPT',
        'taonan': 'TVT',
        'taoshan': 'TAB',
        'tashizui': 'TIM',
        'tayayi': 'TYP',
        'tengxian': 'TAZ',
        'tengzhou': 'TXK',
        'tengzhoudong': 'TEK',
        'tiandong': 'TDZ',
        'tiandongbei': 'TBZ',
        'tiangang': 'TGL',
        'tianhejichang': 'TJN',
        'tianhejie': 'TEN',
        'tianjin': 'TJP',
        'tianjinbei': 'TBP',
        'tianjinnan': 'TIP',
        'tianjinxi': 'TXP',
        'tianlin': 'TFZ',
        'tianmen': 'TMN',
        'tianmennan': 'TNN',
        'tianqiaoling': 'TQL',
        'tianshifu': 'TFT',
        'tianshui': 'TSJ',
        'tianshuinan': 'TIJ',
        'tianxindong': 'KQQ',
        'tianyang': 'TRZ',
        'tianyi': 'TND',
        'tianzhen': 'TZV',
        'tianzhu': 'TZJ',
        'tianzhushan': 'QWH',
        'tiechang': 'TCL',
        'tieli': 'TLB',
        'tieling': 'TLT',
        'tielingxi': 'PXT',
        'tingliang': 'TIZ',
        'tonganyi': 'TAJ',
        'tongbai': 'TBF',
        'tongbei': 'TBB',
        'tongcheng': 'TTH',
        'tongdao': 'TRQ',
        'tonggou': 'TOL',
        'tongguan': 'TGY',
        'tonghai': 'TAM',
        'tonghua': 'THL',
        'tonghuaxian': 'TXL',
        'tongjiang': 'TJB',
        'tongjunzhuang': 'TZP',
        'tongliao': 'TLD',
        'tongling': 'TJH',
        'tonglingbei': 'KXH',
        'tongnan': 'TVW',
        'tongren': 'RDQ',
        'tongrennan': 'TNW',
        'tongtu': 'TUT',
        'tongwei': 'TWJ',
        'tongxiang': 'TCH',
        'tongxin': 'TXJ',
        'tongyuanpu': 'TYT',
        'tongyuanpuxi': 'TST',
        'tongzhou': 'TOP',
        'tongzhouxi': 'TAP',
        'tongzi': 'TZW',
        'tongzibei': 'TBE',
        'tongzidong': 'TDE',
        'tongzilin': 'TEW',
        'tuanjie': 'TIX',
        'tuditangdong': 'TTN',
        'tuguiwula': 'TGC',
        'tuha': 'THR',
        'tuliemaodu': 'TMD',
        'tulihe': 'TEX',
        'tulufan': 'TFR',
        'tulufanbei': 'TAR',
        'tumen': 'TML',
        'tumenbei': 'QSL',
        'tumenzi': 'TCJ',
        'tumuertai': 'TRC',
        'tuoyaoling': 'TIL',
        'tuqiang': 'TQX',
        'tuqiaozi': 'TQJ',
        'tuxi': 'TSW',
        'wafangdian': 'WDT',
        'wafangdianxi': 'WXT',
        'waitoushan': 'WIT',
        'walagan': 'WVX',
        'wanfatun': 'WFB',
        'wanganzhen': 'WVP',
        'wangcang': 'WEW',
        'wangdu': 'WDP',
        'wangfu': 'WUT',
        'wanggang': 'WGB',
        'wangjiawan': 'WJJ',
        'wangjiayingxi': 'KNM',
        'wangou': 'WGL',
        'wangqing': 'WQL',
        'wangtong': 'WTP',
        'wangtuanzhuang': 'WZJ',
        'wangyang': 'WYB',
        'wangzhaotun': 'WZB',
        'wanle': 'WEB',
        'wannian': 'WWG',
        'wanning': 'WNQ',
        'wanyuan': 'WYY',
        'wanzhou': 'WYW',
        'wanzhoubei': 'WZE',
        'wawushan': 'WAH',
        'wayaotian': 'WIM',
        'weidong': 'WVT',
        'weifang': 'WFK',
        'weihai': 'WKK',
        'weihaibei': 'WHK',
        'weihe': 'WHB',
        'weihui': 'WHF',
        'weihulingbei': 'WBL',
        'weijin': 'WJL',
        'weinan': 'WNY',
        'weinanbei': 'WBY',
        'weinannan': 'WVY',
        'weinanzhen': 'WNJ',
        'weiqing': 'WAM',
        'weishanzhuang': 'WSP',
        'weishe': 'WSM',
        'weixing': 'WVB',
        'weiyuan': 'WEJ',
        'weizhangzi': 'WKD',
        'weizhuang': 'WZY',
        'weizigou': 'WZL',
        'weizizhen': 'WQP',
        'wenan': 'WBP',
        'wenchang': 'WEQ',
        'wenchun': 'WDB',
        'wendeng': 'WBK',
        'wendengdong': 'WGK',
        'wendi': 'WNZ',
        'wenling': 'VHH',
        'wenshui': 'WEV',
        'wenxi': 'WXV',
        'wenxixi': 'WOV',
        'wenzhou': 'RZH',
        'wenzhounan': 'VRH',
        'woken': 'WQB',
        'wolitun': 'WLX',
        'wopi': 'WPT',
        'wuan': 'WAP',
        'wubu': 'WUY',
        'wuchagou': 'WCT',
        'wuchang': 'WCB',
        'wudalianchi': 'WRB',
        'wudangshan': 'WRN',
        'wudaogou': 'WDL',
        'wudaohe': 'WHP',
        'wuerqihan': 'WHX',
        'wufushan': 'WFG',
        'wugong': 'WGY',
        'wuguantian': 'WGM',
        'wuhai': 'WVC',
        'wuhaixi': 'WXC',
        'wuhan': 'WHN',
        'wuhu': 'WHH',
        'wuji': 'WJP',
        'wujia': 'WUB',
        'wujiachuan': 'WCJ',
        'wujiatun': 'WJT',
        'wukeshu': 'WKT',
        'wulanchabu': 'WPC',
        'wulanhada': 'WLC',
        'wulanhaote': 'WWT',
        'wulashan': 'WSC',
        'wulateqianqi': 'WQC',
        'wulian': 'WLK',
        'wulong': 'WLW',
        'wulongbei': 'WBT',
        'wulongbeidong': 'WMT',
        'wulongquannan': 'WFN',
        'wulumuqi': 'WAR',
        'wulumuqinan': 'WMR',
        'wunuer': 'WRX',
        'wunvshan': 'WET',
        'wuqiao': 'WUP',
        'wuqing': 'WWP',
        'wushan': 'WSJ',
        'wusheng': 'WSE',
        'wutaishan': 'WSV',
        'wuwei': 'WUJ',
        'wuweinan': 'WWJ',
        'wuwu': 'WVR',
        'wuxi': 'WXH',
        'wuxiang': 'WVV',
        'wuxidong': 'WGH',
        'wuxixinqu': 'IFH',
        'wuxu': 'WYZ',
        'wuxue': 'WXN',
        'wuyi': 'RYH',
        'wuyibei': 'WDH',
        'wuyiling': 'WPB',
        'wuying': 'WWB',
        'wuyishan': 'WAS',
        'wuyishanbei': 'WBS',
        'wuyishandong': 'WCS',
        'wuyuan': 'WYC',
        'wuzhai': 'WZV',
        'wuzhi': 'WIF',
        'wuzhou': 'WZZ',
        'wuzhounan': 'WBZ',
        'xiabancheng': 'EBP',
        'xiachengzi': 'XCB',
        'xiaguanying': 'XGJ',
        'xiahuayuan': 'XYP',
        'xiajiang': 'EJG',
        'xiamatang': 'XAT',
        'xiamen': 'XMS',
        'xiamenbei': 'XKS',
        'xiamengaoqi': 'XBS',
        'xian': 'XAY',
        'xianbei': 'EAY',
        'xianfeng': 'NQQ',
        'xiangcheng': 'ERN',
        'xiangfang': 'XFB',
        'xiangfen': 'XFV',
        'xiangfenxi': 'XTV',
        'xiangfulu': 'FVQ',
        'xianghe': 'XXB',
        'xianglan': 'XNB',
        'xiangtan': 'XTQ',
        'xiangtanbei': 'EDQ',
        'xiangtang': 'XTG',
        'xiangxiang': 'XXQ',
        'xiangyang': 'XFN',
        'xiangyangdong': 'XWN',
        'xiangyuan': 'EIF',
        'xiangyun': 'EXM',
        'xiangzhanglu': 'FNQ',
        'xianlin': 'XPH',
        'xiannan': 'CAY',
        'xianning': 'XNN',
        'xianningbei': 'XRN',
        'xianningdong': 'XKN',
        'xianningnan': 'UNN',
        'xianrenqiao': 'XRL',
        'xiantaoxi': 'XAN',
        'xianyang': 'XYY',
        'xianyangqindu': 'XOY',
        'xianyou': 'XWS',
        'xiaocun': 'XEM',
        'xiaodejiang': 'EJM',
        'xiaodong': 'XOD',
        'xiaogan': 'XGN',
        'xiaoganbei': 'XJN',
        'xiaogandong': 'GDN',
        'xiaoheyan': 'XYD',
        'xiaohezhen': 'EKY',
        'xiaojinkou': 'NKQ',
        'xiaolan': 'EAQ',
        'xiaoling': 'XLB',
        'xiaonan': 'XNV',
        'xiaoshao': 'XAM',
        'xiaoshi': 'XST',
        'xiaosigou': 'ESP',
        'xiaoxi': 'XOV',
        'xiaoxianbei': 'QSH',
        'xiaoxinjie': 'XXM',
        'xiaoxizhuang': 'XXP',
        'xiaoyangqi': 'XYX',
        'xiaoyuejiu': 'XFM',
        'xiaoyugu': 'XHM',
        'xiapu': 'XOS',
        'xiashe': 'XSV',
        'xiashi': 'XIZ',
        'xiataizi': 'EIP',
        'xiayixian': 'EJH',
        'xibali': 'XLP',
        'xichang': 'ECW',
        'xichangnan': 'ENW',
        'xidamiao': 'XMP',
        'xide': 'EDW',
        'xiehejian': 'EEP',
        'xiejiazhen': 'XMT',
        'xifeng': 'XFT',
        'xigangzi': 'NBB',
        'xigu': 'XIJ',
        'xigucheng': 'XUJ',
        'xihudong': 'WDQ',
        'xijiekou': 'EKM',
        'xilin': 'XYB',
        'xilinhaote': 'XTC',
        'xiliu': 'GCT',
        'ximashan': 'XMB',
        'xinan': 'EAM',
        'xinanxian': 'XAF',
        'xinbaoan': 'XAP',
        'xinchengzi': 'XCT',
        'xinchuoyuan': 'XRX',
        'xindudong': 'EWW',
        'xinfeng': 'EFG',
        'xingan': 'XAZ',
        'xinganbei': 'XDZ',
        'xingcheng': 'XCD',
        'xingguo': 'EUG',
        'xinghexi': 'XEC',
        'xingkai': 'EKB',
        'xinglongdian': 'XDD',
        'xinglongxian': 'EXP',
        'xinglongzhen': 'XZB',
        'xingning': 'ENQ',
        'xingping': 'XPY',
        'xingquanbu': 'XQJ',
        'xingshu': 'XSB',
        'xingshutun': 'XDT',
        'xingtai': 'XTP',
        'xingtaidong': 'EDP',
        'xingye': 'SNZ',
        'xingyi': 'XRZ',
        'xinhe': 'XIR',
        'xinhua': 'EHQ',
        'xinhuanan': 'EJQ',
        'xinhuang': 'XLQ',
        'xinhuangxi': 'EWQ',
        'xinhuatun': 'XAX',
        'xinhui': 'EFQ',
        'xining': 'XNO',
        'xinji': 'ENP',
        'xinjiang': 'XJV',
        'xinjin': 'IRW',
        'xinjinan': 'IJP',
        'xinjinnan': 'ITW',
        'xinle': 'ELP',
        'xinli': 'XLJ',
        'xinlin': 'XPX',
        'xinlitun': 'XLD',
        'xinlizhen': 'XGT',
        'xinmin': 'XMD',
        'xinpingtian': 'XPM',
        'xinqing': 'XQB',
        'xinqiu': 'XQD',
        'xinsongpu': 'XOB',
        'xinwopu': 'EPD',
        'xinxian': 'XSN',
        'xinxiang': 'XXF',
        'xinxiangdong': 'EGF',
        'xinxingxian': 'XGQ',
        'xinyang': 'XUN',
        'xinyangdong': 'OYN',
        'xinyangzhen': 'XZJ',
        'xinyi': 'EEQ',
        'xinyouyi': 'EYB',
        'xinyu': 'XUG',
        'xinyubei': 'XBG',
        'xinzhangfang': 'XZX',
        'xinzhangzi': 'ERP',
        'xinzhao': 'XZT',
        'xinzhengjichang': 'EZF',
        'xinzhou': 'XXV',
        'xiongyuecheng': 'XYT',
        'xiping': 'XPN',
        'xipingxi': 'EGQ',
        'xipu': 'XIW',
        'xipudong': 'XAW',
        'xishui': 'XZN',
        'xiushan': 'ETW',
        'xiuwenxian': 'XWE',
        'xiuwu': 'XWF',
        'xiuwuxi': 'EXF',
        'xiwuqi': 'XWC',
        'xixia': 'XIF',
        'xixian': 'ENN',
        'xixiang': 'XQY',
        'xixiaozhao': 'XZC',
        'xiyangcun': 'XQF',
        'xizhelimu': 'XRD',
        'xizi': 'XZD',
        'xuancheng': 'ECH',
        'xuangang': 'XGV',
        'xuanhan': 'XHY',
        'xuanhe': 'XWJ',
        'xuanhua': 'XHP',
        'xuanwei': 'XWM',
        'xuanzhong': 'XRP',
        'xuchang': 'XCF',
        'xuchangdong': 'XVF',
        'xujia': 'XJB',
        'xujiatai': 'XTJ',
        'xujiatun': 'XJT',
        'xunyang': 'XUY',
        'xunyangbei': 'XBY',
        'xupu': 'EPQ',
        'xupunan': 'EMQ',
        'xusanwan': 'XSJ',
        'xushui': 'XSP',
        'xuwen': 'XJQ',
        'xuzhou': 'XCH',
        'xuzhoudong': 'UUH',
        'yabuli': 'YBB',
        'yabulinan': 'YWB',
        'yakeshi': 'YKX',
        'yalongwan': 'TWQ',
        'yanan': 'YWY',
        'yancheng': 'AFH',
        'yanchi': 'YAP',
        'yanchuan': 'YYY',
        'yandangshan': 'YGH',
        'yangang': 'YGW',
        'yangcao': 'YAB',
        'yangcaodi': 'YKM',
        'yangcha': 'YAL',
        'yangcheng': 'YNF',
        'yangchenghu': 'AIH',
        'yangchun': 'YQQ',
        'yangcun': 'YBP',
        'yanggang': 'YRB',
        'yanggao': 'YOV',
        'yanggu': 'YIK',
        'yanghe': 'GTH',
        'yangjiuhe': 'YHM',
        'yanglin': 'YLM',
        'yangling': 'YSY',
        'yanglingnan': 'YEY',
        'yangliuqing': 'YQP',
        'yangmingbu': 'YVV',
        'yangpingguan': 'YAY',
        'yangpu': 'ABM',
        'yangqu': 'YQV',
        'yangquan': 'AQP',
        'yangquanbei': 'YPP',
        'yangquanqu': 'YYV',
        'yangshuling': 'YAD',
        'yangshuo': 'YCZ',
        'yangweishao': 'YWM',
        'yangxianxi': 'YXY',
        'yangxin': 'YON',
        'yangyi': 'ARP',
        'yangzhangzi': 'YZD',
        'yangzhewo': 'AEM',
        'yangzhou': 'YLH',
        'yanhecheng': 'YHP',
        'yanhui': 'AEP',
        'yanji': 'YJL',
        'yanjiao': 'AJP',
        'yanjiazhuang': 'AZK',
        'yanjin': 'AEW',
        'yanjixi': 'YXL',
        'yanliang': 'YNY',
        'yanling': 'YAG',
        'yanqi': 'YSR',
        'yanqing': 'YNP',
        'yanshan': 'AOP',
        'yanshi': 'YSF',
        'yantai': 'YAK',
        'yantainan': 'YLK',
        'yantaixi': 'YTK',
        'yantongshan': 'YSL',
        'yantongtun': 'YUX',
        'yanzhou': 'YZK',
        'yanzibian': 'YZY',
        'yaoan': 'YAC',
        'yaodu': 'AOJ',
        'yaojia': 'YAT',
        'yaoqianhutun': 'YQT',
        'yaoshang': 'ASP',
        'yatunpu': 'YTZ',
        'yayuan': 'YYL',
        'yazhou': 'YUQ',
        'yebaishou': 'YBD',
        'yecheng': 'YER',
        'yesanpo': 'AIP',
        'yian': 'YAX',
        'yibin': 'YBW',
        'yichang': 'YCN',
        'yichangdong': 'HAN',
        'yicheng': 'YIN',
        'yichun': 'YEG',
        'yichunxi': 'YCG',
        'yiershi': 'YET',
        'yijiang': 'RVH',
        'yijianpu': 'YJT',
        'yilaha': 'YLX',
        'yiliang': 'ALW',
        'yiliangbei': 'YSM',
        'yilin': 'YLB',
        'yima': 'YMF',
        'yimianpo': 'YPB',
        'yimianshan': 'YST',
        'yimin': 'YMX',
        'yinai': 'YVM',
        'yinan': 'YNK',
        'yinchuan': 'YIJ',
        'yindi': 'YDM',
        'yingbinlu': 'YFW',
        'yingcheng': 'YHN',
        'yingchengzi': 'YCT',
        'yingchun': 'YYB',
        'yingde': 'YDQ',
        'yingdexi': 'IIQ',
        'yingjie': 'YAM',
        'yingjisha': 'YIR',
        'yingkou': 'YKT',
        'yingkoudong': 'YGT',
        'yingpanshui': 'YZJ',
        'yingshan': 'NUW',
        'yingshang': 'YVH',
        'yingshouyingzi': 'YIP',
        'yingtan': 'YTG',
        'yingtanbei': 'YKG',
        'yingxian': 'YZV',
        'yining': 'YMR',
        'yiningdong': 'YNR',
        'yinlang': 'YJX',
        'yinping': 'KPQ',
        'yintan': 'CTQ',
        'yishui': 'YUK',
        'yitong': 'YTL',
        'yitulihe': 'YEX',
        'yiwu': 'YWH',
        'yixian': 'YXD',
        'yixing': 'YUH',
        'yiyang': 'AEQ',
        'yizheng': 'UZH',
        'yizhou': 'YSZ',
        'yizi': 'YQM',
        'yongan': 'YAS',
        'yonganxiang': 'YNB',
        'yongchengbei': 'RGH',
        'yongchuan': 'YCW',
        'yongchuandong': 'WMW',
        'yongdeng': 'YDJ',
        'yongding': 'YGS',
        'yongfengying': 'YYM',
        'yongfunan': 'YBZ',
        'yongji': 'YIV',
        'yongjia': 'URH',
        'yongjibei': 'AJV',
        'yongkang': 'RFH',
        'yongkangnan': 'QUH',
        'yonglang': 'YLW',
        'yongledian': 'YDY',
        'yongshou': 'ASY',
        'yongtai': 'YTS',
        'yongxiu': 'ACG',
        'yongzhou': 'AOQ',
        'youhao': 'YOB',
        'youxi': 'YXS',
        'youxian': 'YOG',
        'youxiannan': 'YXG',
        'youyang': 'AFW',
        'yuanbaoshan': 'YUD',
        'yuandun': 'YAJ',
        'yuanmou': 'YMM',
        'yuanping': 'YPV',
        'yuanqian': 'AQK',
        'yuanshi': 'YSP',
        'yuantan': 'YTQ',
        'yuanyangzhen': 'YYJ',
        'yucheng': 'YCK',
        'yuchengdong': 'YSK',
        'yuchengxian': 'IXH',
        'yuci': 'YCV',
        'yudu': 'YDG',
        'yuechi': 'AWW',
        'yuejiajing': 'YGJ',
        'yueliangtian': 'YUM',
        'yueqing': 'UPH',
        'yueshan': 'YBF',
        'yuexi': 'YHW',
        'yueyang': 'YYQ',
        'yueyangdong': 'YIQ',
        'yuge': 'VTM',
        'yuhang': 'EVH',
        'yujiang': 'YHG',
        'yujiapu': 'YKP',
        'yuliangpu': 'YLD',
        'yulin': 'ALY',
        'yumen': 'YXJ',
        'yunan': 'YKQ',
        'yuncailing': 'ACP',
        'yuncheng': 'YPK',
        'yunchengbei': 'ABV',
        'yundonghai': 'NAQ',
        'yunfudong': 'IXQ',
        'yunjusi': 'AFP',
        'yunlianghe': 'YEF',
        'yunmeng': 'YMN',
        'yunshan': 'KZQ',
        'yunxiao': 'YBS',
        'yuping': 'YZW',
        'yuquan': 'YQB',
        'yushan': 'YNG',
        'yushannan': 'YGG',
        'yushe': 'YSV',
        'yushi': 'YSJ',
        'yushu': 'YRT',
        'yushugou': 'YGP',
        'yushutai': 'YUT',
        'yushutun': 'YSX',
        'yutianxian': 'ATP',
        'yuxi': 'AXM',
        'yuxixi': 'YXM',
        'yuyao': 'YYH',
        'yuyaobei': 'CTH',
        'yuzhong': 'IZJ',
        'zaolin': 'ZIV',
        'zaoqiang': 'ZVP',
        'zaoyang': 'ZYN',
        'zaozhuang': 'ZEK',
        'zaozhuangdong': 'ZNK',
        'zaozhuangxi': 'ZFK',
        'zengjiapingzi': 'ZBW',
        'zengkou': 'ZKE',
        'zepu': 'ZPR',
        'zerunli': 'ZLM',
        'zhalainuoerxi': 'ZXX',
        'zhalantun': 'ZTX',
        'zhalute': 'ZLD',
        'zhangbaiwan': 'ZUP',
        'zhangdang': 'ZHT',
        'zhanggutai': 'ZGD',
        'zhangjiachuan': 'ZIJ',
        'zhangjiajie': 'DIQ',
        'zhangjiakou': 'ZKP',
        'zhangjiakounan': 'ZMP',
        'zhanglan': 'ZLV',
        'zhangmutou': 'ZOQ',
        'zhangmutoudong': 'ZRQ',
        'zhangping': 'ZPS',
        'zhangpu': 'ZCS',
        'zhangqiao': 'ZQY',
        'zhangqiu': 'ZTK',
        'zhangshu': 'ZSG',
        'zhangshudong': 'ZOG',
        'zhangweitun': 'ZWB',
        'zhangwu': 'ZWD',
        'zhangxian': 'ZXJ',
        'zhangxin': 'ZIP',
        'zhangye': 'ZYJ',
        'zhangyexi': 'ZEJ',
        'zhangzhou': 'ZUS',
        'zhangzhoudong': 'GOS',
        'zhanjiang': 'ZJZ',
        'zhanjiangxi': 'ZWQ',
        'zhaoan': 'ZDS',
        'zhaobai': 'ZBP',
        'zhaocheng': 'ZCV',
        'zhaodong': 'ZDB',
        'zhaofupu': 'ZFM',
        'zhaoguang': 'ZGB',
        'zhaohua': 'ZHW',
        'zhaoqing': 'ZVQ',
        'zhaoqingdong': 'FCQ',
        'zhaoshan': 'KWQ',
        'zhaotong': 'ZDW',
        'zhashui': 'ZSY',
        'zhazi': 'ZAL',
        'zhelimu': 'ZLC',
        'zhenan': 'ZEY',
        'zhenchengdi': 'ZDV',
        'zhengding': 'ZDP',
        'zhengdingjichang': 'ZHP',
        'zhengxiangbaiqi': 'ZXC',
        'zhengzhou': 'ZZF',
        'zhengzhoudong': 'ZAF',
        'zhengzhouxi': 'XPF',
        'zhenjiang': 'ZJH',
        'zhenjiangnan': 'ZEH',
        'zhenlai': 'ZLT',
        'zhenping': 'ZPF',
        'zhenxi': 'ZVT',
        'zhenyuan': 'ZUW',
        'zhian': 'ZAD',
        'zhicheng': 'ZCN',
        'zhifangdong': 'ZMN',
        'zhijiang': 'ZPQ',
        'zhijiangbei': 'ZIN',
        'zhijin': 'IZW',
        'zhijinbei': 'ZJE',
        'zhongchuanjichang': 'ZJJ',
        'zhonghe': 'ZHX',
        'zhonghuamen': 'VNH',
        'zhongjiacun': 'ZJY',
        'zhongkai': 'KKQ',
        'zhongmu': 'ZGF',
        'zhongning': 'VNJ',
        'zhongningdong': 'ZDJ',
        'zhongningnan': 'ZNJ',
        'zhongshan': 'ZSQ',
        'zhongshanbei': 'ZGQ',
        'zhongshanxi': 'ZAZ',
        'zhongwei': 'ZWJ',
        'zhongxiang': 'ZTN',
        'zhongzhai': 'ZZM',
        'zhoujia': 'ZOB',
        'zhoujiatun': 'ZOD',
        'zhoukou': 'ZKN',
        'zhoushuizi': 'ZIT',
        'zhuanghebei': 'ZUT',
        'zhuangqiao': 'ZQH',
        'zhuangzhi': 'ZUX',
        'zhucheng': 'ZQK',
        'zhuhai': 'ZHQ',
        'zhuhaibei': 'ZIQ',
        'zhuji': 'ZDH',
        'zhujiagou': 'ZUB',
        'zhujiawan': 'CWJ',
        'zhujiayao': 'ZUJ',
        'zhumadian': 'ZDN',
        'zhumadianxi': 'ZLN',
        'zhungeer': 'ZEC',
        'zhuozhou': 'ZXP',
        'zhuozhoudong': 'ZAP',
        'zhuozidong': 'ZDC',
        'zhuozishan': 'ZZC',
        'zhurihe': 'ZRC',
        'zhusihua': 'ZHD',
        'zhuwo': 'ZOP',
        'zhuyuanba': 'ZAW',
        'zhuzhou': 'ZZQ',
        'zhuzhounan': 'KVQ',
        'zhuzhouxi': 'ZAQ',
        'zibo': 'ZBK',
        'zichang': 'ZHY',
        'zigong': 'ZGW',
        'zijingguan': 'ZYP',
        'zixi': 'ZXS',
        'ziyang': 'ZYW',
        'ziyangbei': 'FYW',
        'zizhong': 'ZZW',
        'zizhongbei': 'WZW',
        'zizhou': 'ZZY',
        'zongxi': 'ZOY',
        'zoucheng': 'ZIK',
        'zunyi': 'ZYE',
        'zunyinan': 'ZNE',
        'zunyixi': 'ZIW',
        'zuoling': 'ZSN'}
    

      tickets.py

    """Train tickets query via command-line.
    tickets.py
    
    Usage:
        tickets [-gdtkz] <from> <to> <date>
    
    Options:
        -h,--help   显示帮助菜单
        -g          高铁
        -d          动车
        -t          特快
        -k          快速
        -z          直达
    
    Example:
        tickets -gdt beijing shanghai 2016-08-25
    """
    import requests
    from docopt import docopt
    #from stations import stations
    from stations import stations
    # from pprint import pprint
    from train import TrainCollection
    
    class SelectTrain(object):
    
        def __init__(self):
            """
            获取命令行输入的参数
            """
            self.args = docopt(__doc__)#这个是获取命令行的所有参数,返回的是一个字典
    
    
        def cli(self):
            """command-line interface"""
            # 获取 出发站点和目标站点
            from_station = stations.get(self.args['<from>']) #出发站点
            to_station = stations.get(self.args['<to>']) # 目的站点
            leave_time = self._get_leave_time()# 出发时间
    
            url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={0}&from_station={1}&to_station={2}'.format(
                leave_time,from_station,to_station)# 拼接请求列车信息的Url
    
            # 获取列车查询结果
            r = requests.get(url,verify=False)
            traindatas = r.json()['data']['datas'] # 返回的结果,转化成json格式,取出datas,方便后面解析列车信息用
    
            # 解析列车信息
            traintypes = self._get_traintype()
            views = TrainCollection(traindatas,traintypes)
            views.print_pretty()
    
        def _get_traintype(self):
            """
            获取列车型号,这个函数的作用是的目的是:当你输入 -g 是只是返回 高铁,输入 -gd 返回动车和高铁,当不输参数时,返回所有的列车信息
            """        
            traintypes = ['-g','-d','-t','-k','-z']
            # result = []
            # for traintype in traintypes:
            #     if self.args[traintype]:
            #         result.append(traintype[-1].upper())
    
            trains = [traintype[-1].upper() for traintype in traintypes if self.args[traintype]]
            if trains:
                return trains
            else:
                return ['G','D','T','K','Z']
    
        def _get_leave_time(self):
            """
            获取出发时间,这个函数的作用是为了:时间可以输入两种格式:2016-10-05、20161005
            """
            leave_time = self.args['<date>']
            if len(leave_time) == 8:
                return '{0}-{1}-{2}'.format(leave_time[:4],leave_time[4:6],leave_time[6:])
    
            if '-' in leave_time:
                return leave_time
    
    
    if __name__ == '__main__':
        cli = SelectTrain()
        cli.cli()
    

      

  • 相关阅读:
    最小点割集
    哈希链表形式
    poj 1809
    整数的分拆
    Dynamic Rankings
    Error on line 1 of document
    怎么样用JAVA取得系统的路径?
    Richfaces优化,Richfaces为何这么慢?
    null Nested exception: null
    帮助你生成组织结构图的jQuery插件 jOrgChart java程序员
  • 原文地址:https://www.cnblogs.com/geovindu/p/8329472.html
Copyright © 2011-2022 走看看