欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python实现火车票查询

程序员文章站 2022-07-08 12:25:25
...

1.  知识点: 

  • Python 基础知识的综合运用
  • docopt, requests, colorama, prettytable 库的使用

2  requests:  使用Python访问HTTP资源的必备库            

 prettytable: 可以将打印内容格式化为像MySQL一样的输出      

   docopt:命令行参数解析工具                     

   colorama: 命令行着色工具 

 

3.

解析参数

  docopt模块可以按照我们自己在文档字符串定义的格式来解析参数,如下

 


# -*- coding:utf-8 -*-

"""命令行火车票查看器

Usage:
    tickets [-gdtkz] <from> <to> <date>

Options:
    -h,--help   显示帮助菜单
    -g          高铁
    -d          动车
    -t          特快
    -k          快速
    -z          直达

Example:
    tickets 太原 北京 2019-06-12
    tickets -dg 天津 南昌 2019-06-10
"""
arguments = docopt(__doc__)

 由上面的程序中,docopt会根据我们在docstring中定义的格式解析参数并返回一个字典(arguments)

 -tk  北京 太原 2019-06-10
{'-d': False,
 '-g': False,
 '-k': True,
 '-t': True,
 '-z': False,
 '<date>': '2019-06-10',
 '<from>': '北京',
 '<to>': '太原'}

 

2. 获取数据

  参数解析好以后,我们可以通过12306官网获取我们需要的数据,IE浏览器打开12306官网的查票系统,输入出发地,目的地,日期,查询,通过F12开发者模式找到请求地址(刷新一次):

 

 (图片上传出错,后续补)

通过此请求URL,我们可以看到有我们需要的信息,或者直接点击参数查看:

  可以看到参数为:出发地   查询类型(成人,学生)   日期  目的地

python实现火车票查询

通过正文可以看到:返回一个json格式的数据,即一个字典,里边包括了各个站点的中文名和站点代号,我们可以利用这个接口来获取。

python实现火车票查询

打开此页的源码(在页面右击选择查看源码):

python实现火车票查询

查看一下具体内容:

复制此链接前边需要加一级域名https://kyfw.12306.cn打开, 如下:

https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8971

可以得到有关stations的信息

station_names是一个很长的字符串,里边包括了所有车站中文名,拼音,简写,代号等,这里可以看到有很多信息,我们提取我们需要的信息中文字母和代号信息,我们用正则表达式来提取:

写一个简单的脚本抓取(parse_station.py):

import re
import requests
from pprint import pprint

url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8994'
response = requests.get(url, verify=False)     # verify=False不验证证书
stations = re.findall(u'([\u4e00-\u9fa5]+)+\|([A-Z]+)', response.text)
pprint(dict(stations), indent=4)

 将提取的有关地点的信息重定向到stations.py文件中

stations = {   '一间堡': 'YJT',
    '一面坡': 'YPB',
    '一面坡北': 'YXB',
    '一面山': 'YST',
    '七台河': 'QTB',
    '七甸': 'QDM',
    '七营': 'QYJ',
    '七里河': 'QLD',
    '万乐': 'WEB',
    '万发屯': 'WFB',
    '万宁': 'WNQ',
    '万州': 'WYW',
    '万州北': 'WZE',
    '万年': 'WWG',
    '万源': 'WYY',
    '三义井': 'OYD',
    '三井子': 'OJT',
    '三亚': 'SEQ',
    '三元区': 'SMS',
    '三关口': 'OKJ',
    '三十家': 'SRD',
    '三十里堡': 'SST',
    '三原': 'SAY',
    '三合庄': 'SVP',
    '三堂集': 'SDH',
    '三家寨': 'SMM',
    '三家店': 'ODP',
    '三明': 'SVS',
    '三明北': 'SHS',
    '三水': 'SJQ',
    '三水北': 'ARQ',
    '三水南': 'RNQ',
    '三汇镇': 'OZW',
    '三江南': 'SWZ',
    '三江县': 'SOZ',
    '三江口': 'SKD',
    '三河县': 'OXP',
    '三源浦': 'SYL',
    '三穗': 'QHW',
    '三营': 'OEJ',
    '三道湖': 'SDL',
    '三都县': 'KKW',
    '三门县': 'OQH',
    '三门峡': 'SMF',
    '三门峡南': 'SCF',
    '三门峡西': 'SXF',
    '三间房': 'SFX',
    '三阳': 'SYU',
    '三阳川': 'SYJ',
    '上万': 'SWP',
    '上园': 'SUD',
    '上杭': 'JBS',
    '上板城': 'SBP',
    '上板城南': 'OBP',
    '上海': 'SHH',
    '上海南': 'SNH',
    '上海虹桥': 'AOH',
    '上海西': 'SXH',
    '上腰墩': 'SPJ',
    '上虞': 'BDH',
    '上西铺': 'SXM',
    '上饶': 'SRG',
    '上高镇': 'SVK',
    '*子': 'EIP',
    '下城子': 'XCB',
    '下板城': 'EBP',
    '下社': 'XSV',
    '下花园': 'XYP',
    '下马塘': 'XAT',
    '世博园': 'ZWT',
    '东': 'FDC',
    '东丰': 'DIL',
    '东乡': 'DXG',
    '东二道河': 'DRB',
    '东京城': 'DJB',
    '东光': 'DGP',
    '东升': 'DRQ',
    '东台': 'DBH',
    '东城南': 'IYQ',
    '东安东': 'DCZ',
    '东岔': 'DCJ',
    '东庄': 'DZV',
    '东戌': 'RXP',
    '东戴河': 'RDD',
    '东方': 'UFQ',
    '东方红': 'DFB',
    '东明县': 'DNF',
    '东明村': 'DMD',
    '东来': 'RVD',
    '东津': 'DKB',
    '东海': 'DHB',
    '东海县': 'DQH',
    '东淤地': 'DBV',
    '东港北': 'RGT',
    '东湾': 'DRJ',
    '东胜': 'DOC',
    '东胜东': 'RSC',
    '东胜西': 'DYC',
    '东至': 'DCH',
    '东莞': 'RTQ',
    '东莞东': 'DMQ',
    '东营': 'DPK',
    '东营南': 'DOK',
    '东辛庄': 'DXD',
    '东边井': 'DBB',
    '东通化': 'DTL',
    '东镇': 'DNV',
    '两家': 'UJT',
    '两当': 'LDY',
    '中华门': 'VNH',
    '中卫': 'ZWJ',
    '中和': 'ZHX',
    '中宁': 'VNJ',
    '中宁东': 'ZDJ',
    '中宁南': 'ZNJ',
    '中寨': 'ZZM',
    '中山': 'ZSQ',
    '中山北': 'ZGQ',
    '中川机场': 'ZJJ',
    '中牟': 'ZGF',
    '丰乐镇': 'FZB',
    '丰城': 'FCG',
    '丰城南': 'FNG',
    '丰水村': 'FSJ',
    '丰都': 'FUW',
    '丰镇': 'FZC',
    '丰顺': 'FUQ',
    '临城': 'UUP',
    '临川': 'LCG',
    '临江': 'LQL',
    '临汾': 'LFV',
    '临汾西': 'LXV',
    '临沂': 'LVK',
    '临沂东': 'UYK',
    '临河': 'LHC',
    '临泽': 'LEJ',
    '临泽南': 'LDJ',
    '临海': 'UFH',
    '临淄北': 'UEK',
    '临清': 'UQK',
    '临湘': 'LXQ',
    '临澧': 'LWQ',
    '临西': 'UEP',
    '临邑': 'LUK',
    '临颍': 'LNF',
    '临高南': 'KGQ',
    '丹东': 'DUT',
    '丹东西': 'RWT',
    '丹凤': 'DGY',
    '丹徒': 'RUH',
    '丹阳': 'DYH',
    '丹阳北': 'EXH',
    '丹霞山': 'IRQ',
    '丽水': 'USH',
    '丽江': 'LHM',
    '乃林': 'NLD',
    '义乌': 'YWH',
    '义县': 'YXD',
    '义县西': 'YSD',
    '义马': 'YMF',
    '乌伊岭': 'WPB',
    '乌兰哈达': 'WLC',
    '乌兰察布': 'WPC',
    '乌兰木图': 'VLT',
    '乌兰浩特': 'WWT',
    '乌奴耳': 'WRX',
    '乌尔旗汗': 'WHX',
    '乌拉山': 'WSC',
    '乌拉特前旗': 'WQC',
    '乌海': 'WVC',
    '乌海西': 'WXC',
    '乌苏': 'WSR',
    '乌西': 'WXR',
    '乌鲁木齐': 'WAR',
    '乌鲁木齐南': 'WMR',
    '乌龙泉南': 'WFN',
    '乐东': 'UQQ',
    '乐善村': 'LUM',
    '乐山': 'IVW',
    '乐山北': 'UTW',
    '乐平市': 'LPG',
    '乐昌': 'LCQ',
    '乐昌东': 'ILQ',
    '乐清': 'UPH',
    '乐都': 'LDO',
    '乐都南': 'LVO',
    '九三': 'SSX',
    '九台': 'JTL',
    '九台南': 'JNL',
    '九江': 'JJG',
    '九郎山': 'KJQ',
    '乳山': 'ROK',
    '乾县': 'QBY',
    '乾安': 'QOT',
    '二密河': 'RML',
    '二营': 'RYJ',
    '二连': 'RLC',
    '二道沟门': 'RDP',
    '二道湾': 'RDX',
    '二龙': 'RLD',
    '二龙山屯': 'ELA',
    '于都': 'YDG',
    '云东海': 'NAQ',
    '云南驿': 'ANM',
    '云居寺': 'AFP',
    '云山': 'KZQ',
    '云彩岭': 'ACP',
    '云梦': 'YMN',
    '云浮东': 'IXQ',
    '云霄': 'YBS',
    '五五': 'WVR',
    '五原': 'WYC',
    '五叉沟': 'WCT',
    '五台山': 'WSV',
    '五大连池': 'WRB',
    '五女山': 'WET',
    '五家': 'WUB',
    '五寨': 'WZV',
    '五常': 'WCB',
    '五府山': 'WFG',
    '五棵树': 'WKT',
    '五莲': 'WLK',
    '五营': 'WWB',
    '五通': 'WTZ',
    '五道沟': 'WDL',
    '五道河': 'WHP',
    '五龙背': 'WBT',
    '五龙背东': 'WMT',
    '井冈山': 'JGG',
    '井南': 'JNP',
    '井店': 'JFP',
    '井陉': 'JJP',
    '亚': 'JUQ',
    '亚布力': 'YBB',
    '亚布力南': 'YWB',
    '亚布力西': 'YSB',
    '亚龙湾': 'TWQ',
    '交城': 'JNV',
    '京山': 'JCN',
    '亭亮': 'TIZ',
    '亮甲店': 'LRT',
    '亳州': 'BZH',
    '什里店': 'OMP',
    '仁布': 'RUO',
    '介休': 'JXV',
    '介休东': 'JDV',
    '从江': 'KNW',
    '仙人桥': 'XRL',
    '仙林': 'XPH',
    '仙桃西': 'XAN',
    '仙游': 'XWS',
    '代县': 'DKV',
    '仪征': 'UZH',
    '仲恺': 'KKQ',
    '任丘': 'RQP',
    '伊图里河': 'YEX',
    '伊宁': 'YMR',
    '伊宁东': 'YNR',
    '伊尔施': 'YET',
    '伊拉哈': 'YLX',
    '伊敏': 'YMX',
    '伊春': 'YCB',
    '伊林': 'YLB',
    '伊通': 'YTL',
    '会同': 'VTQ',
    '会昌北': 'XEG',
    '低庄': 'DVQ',
    '低窝铺': 'DWJ',
    '余姚': 'YYH',
    '余姚北': 'CTH',
    '余杭': 'EVH',
    '余江': 'YHG',
    '余粮堡': 'YLD',
    '佛坪': 'FUY',
    '佛山': 'FSQ',
    '佛山西': 'FOQ',
    '佳木斯': 'JMB',
    '佳木斯西': 'JUB',
    '依兰': 'YEB',
    '依安': 'YAX',
    '侯马': 'HMV',
    '侯马西': 'HPV',
    '保定': 'BDP',
    '保定东': 'BMP',
    '保康': 'BKD',
    '信丰': 'EFG',
    '信宜': 'EEQ',
    '信阳': 'XUN',
    '信阳东': 'OYN',
    '修文县': 'XWE',
    '修武': 'XWF',
    '修武西': 'EXF',
    '倭肯': 'WQB',
    '偃师': 'YSF',
    '偏岭': 'PNT',
    '偏店': 'PRP',
    '元宝山': 'YUD',
    '元氏': 'YSP',
    '元谋': 'YMM',
    '先锋': 'NQQ',
    '光山': 'GUN',
    '光明城': 'IMQ',
    '光泽': 'GZS',
    '克一河': 'KHX',
    '克东': 'KOB',
    '克山': 'KSB',
    '克拉玛依': 'KHR',
    '免渡河': 'MDX',
    '兑镇': 'DWV',
    '兖州': 'YZK',
    '全州南': 'QNZ',
    '全椒': 'INH',
    '八仙筒': 'VXD',
    '八方山': 'FGQ',
    '八步': 'BBE',
    '八角台': 'BTD',
    '八达岭': 'ILP',
    '八里甸子': 'BLT',
    '八面城': 'BMD',
    '八面通': 'BMB',
    '公主岭': 'GLT',
    '公主岭南': 'GBT',
    '公庙子': 'GMC',
    '公营子': 'GYD',
    '六合': 'KLH',
    '六合镇': 'LEX',
    '六安': 'UAH',
    '六枝': 'LIW',
    '六盘山': 'UPJ',
    '六盘水': 'UMW',
    '六道河子': 'LVP',
    '兰岗': 'LNB',
    '兰州': 'LZJ',
    '兰州东': 'LVJ',
    '兰州新区': 'LQJ',
    '兰州西': 'LAJ',
    '兰棱': 'LLB',
    '兰溪': 'LWH',
    '兰考': 'LKF',
    '兰考南': 'LUF',
    '兰陵北': 'COK',
    '共青城': 'GAG',
    '关岭': 'GLE',
    '关林': 'GLF',
    '兴业': 'SNZ',
    '兴义': 'XRZ',
    '兴凯': 'EKB',
    '兴和西': 'XEC',
    '兴国': 'EUG',
    '兴城': 'XCD',
    '兴宁': 'ENQ',
    '兴安': 'XAZ',
    '兴安北': 'XDZ',
    '兴平': 'XPY',
    '兴泉堡': 'XQJ',
    '兴隆县': 'EXP',
    '兴隆店': 'XDD',
    '兴隆镇': 'XZB',
    '内乡': 'NXF',
    '内江': 'NJW',
    '内江北': 'NKW',
    '册亨': 'CHZ',
    '冕宁': 'UGW',
    '军粮城北': 'JMP',
    '农安': 'NAT',
    '冠豸山': 'GSS',
    '冯屯': 'FTX',
    '冷水江东': 'UDQ',
    '准格尔': 'ZEC',
    '凌海': 'JID',
    '凌源': 'LYD',
    '凌源东': 'LDD',
    '凤凰城': 'FHT',
    '凤凰机场': 'FJQ',
    '凤县': 'FXY',
    '凤城东': 'FDT',
    '凤州': 'FZY',
    '凤阳': 'FUH',
    '凭祥': 'PXZ',
    '凯里': 'KLW',
    '凯里南': 'QKW',
    '刀尔登': 'DRD',
    '分宜': 'FYG',
    '刘家店': 'UDT',
    '刘家河': 'LVT',
    '创业村': 'CEX',
    '利川': 'LCN',
    '利津南': 'LNK',
    '到保': 'RBT',
    '前卫': 'QWD',
    '前山': 'QXQ',
    '前磨头': 'QMP',
    '前苇塘': 'QWP',
    '前进镇': 'QEB',
    '前锋': 'QFB',
    '剑门关': 'JME',
    '加格达奇': 'JGX',
    '勃利': 'BLB',
    '勉县': 'MVY',
    '包头': 'BTC',
    '包头东': 'BDC',
    '化州': 'HZZ',
    '化德': 'HGC',
    '北井子': 'BRT',
    '北京': 'BJP',
    '北京东': 'BOP',
    '北京北': 'VAP',
    '北京南': 'VNP',
    '北京西': 'BXP',
    '北台': 'BTT',
    '北宅': 'BVP',
    '北安': 'BAB',
    '北屯': 'BYP',
    '北屯市': 'BXR',
    '北戴河': 'BEP',
    '北流': 'BOZ',
    '北海': 'BHZ',
    '北滘': 'IBQ',
    '北碚': 'BPW',
    '北票': 'BPT',
    '北票南': 'RPD',
    '北营': 'BIV',
    '北马圈子': 'BRP',
    '十堰': 'SNN',
    '十家子': 'SJD',
    '十渡': 'SEP',
    '千岛湖': 'QDU',
    '千河': 'QUY',
    '千阳': 'QOY',
    '午汲': 'WJP',
    '华城': 'VCQ',
    '华家': 'HJT',
    '华容': 'HRN',
    '华容东': 'HPN',
    '华容南': 'KRN',
    '华山': 'HSY',
    '华山北': 'HDY',
    '华蓥': 'HUW',
    '卓资东': 'ZDC',
    '卓资山': 'ZZC',
    '南': 'FXS',
    '南丰': 'NFG',
    '南丹': 'NDZ',
    '南京': 'NJH',
    '南京南': 'NKH',
    '南仇': 'NCK',
    '南充': 'NCW',
    '南充北': 'NCE',
    '南关岭': 'NLT',
    '南华': 'NAM',
    '南华北': 'NHS',
    '南博山': 'NBK',
    '南口': 'NKP',
    '南口前': 'NKT',
    '南召': 'NAF',
    '南台': 'NTT',
    '南城': 'NDG',
    '南城司': 'NSP',
    '南堡北': 'TLP',
    '南大庙': 'NMP',
    '南头': 'NOQ',
    '南宁': 'NNZ',
    '南宁东': 'NFZ',
    '南宁西': 'NXZ',
    '南宫东': 'NFP',
    '南岔': 'NCB',
    '南峪': 'NUP',
    '南平': 'NPS',
    '南平北': 'NBS',
    '南平南': 'NNS',
    '南昌': 'NCG',
    '南昌西': 'NXG',
    '南曹': 'NEF',
    '南朗': 'NNQ',
    '南木': 'NMX',
    '南杂木': 'NZT',
    '南桥': 'NQD',
    '南江': 'FIW',
    '南江口': 'NDQ',
    '南河川': 'NHJ',
    '南湖东': 'NDN',
    '南湾子': 'NWP',
    '南翔北': 'NEH',
    '南芬': 'NFT',
    '南芬北': 'NUT',
    '南观村': 'NGP',
    '南通': 'NUH',
    '南部': 'NBE',
    '南阳': 'NFF',
    '南阳寨': 'NYF',
    '南陵': 'LLH',
    '南雄': 'NCQ',
    '南靖': 'NJS',
    '博乐': 'BOR',
    '博克图': 'BKX',
    '博兴': 'BXK',
    '博白': 'BBZ',
    '博鳌': 'BWQ',
    '卢龙': 'UAP',
    '卧里屯': 'WLX',
    '卫东': 'WVT',
    '卫星': 'WVB',
    '卫辉': 'WHF',
    '即墨北': 'JVK',
    '原平': 'YPV',
    '原平西': 'IPV',
    '厦门': 'XMS',
    '厦门北': 'XKS',
    '厦门高崎': 'XBS',
    '友好': 'YOB',
    '双丰': 'OFB',
    '双吉': 'SML',
    '双城北': 'SBB',
    '双城堡': 'SCB',
    '双峰北': 'NFQ',
    '双水镇': 'PQQ',
    '双河镇': 'SEL',
    '双洋': 'SQS',
    '双流机场': 'IPW',
    '双流西': 'IQW',
    '双牌': 'SBZ',
    '双辽': 'ZJD',
    '双阳': 'OYT',
    '双鸭山': 'SSB',
    '双龙湖': 'OHB',
    '发耳': 'FEM',
    '口东': 'KEQ',
    '口前': 'KQL',
    '古东': 'GDV',
    '古交': 'GJV',
    '古北口': 'GKP',
    '古城镇': 'GZB',
    '古浪': 'GLJ',
    '古田': 'GTS',
    '古田会址': 'STS',
    '古田北': 'GBS',
    '古莲': 'GRX',
    '古镇': 'GNQ',
    '句容西': 'JWH',
    '台前': 'TTK',
    '台安': 'TID',
    '台安南': 'TAD',
    '台山': 'PUQ',
    '台州': 'TZH',
    '叶城': 'YER',
    '叶柏寿': 'YBD',
    '司家岭': 'OLK',
    '合川': 'WKW',
    '合浦': 'HVZ',
    '合肥': 'HFH',
    '合肥北城': 'COH',
    '合肥南': 'ENH',
    '合肥西': 'HTH',
    '合阳': 'HAY',
    '合阳北': 'HTY',
    '吉安': 'VAG',
    '吉文': 'JWX',
    '吉林': 'JLL',
    '吉舒': 'JSL',
    '吉首': 'JIQ',
    '同心': 'TXJ',
    '同江': 'TJB',
    '名山': 'MSE',
    '后湖': 'IHN',
    '吐列毛杜': 'TMD',
    '吐哈': 'THR',
    '吐鲁番': 'TFR',
    '吐鲁番北': 'TAR',
    '向塘': 'XTG',
    '向阳': 'XDB',
    '吕梁': 'LHV',
    '启东': 'QOU',
    '吴圩': 'WYZ',
    '吴堡': 'WUY',
    '吴官田': 'WGM',
    '吴家屯': 'WJT',
    '吴家川': 'WCJ',
    '吴川': 'WAQ',
    '吴桥': 'WUP',
    '周口': 'ZKN',
    '周家': 'ZOB',
    '周家屯': 'ZOD',
    '周水子': 'ZIT',
    '呼兰': 'HUB',
    '呼和浩特': 'HHC',
    '呼和浩特东': 'NDC',
    '呼鲁斯太': 'VTJ',
    '咋子': 'ZAL',
    '和什托洛盖': 'VSR',
    '和平': 'VAQ',
    '和田': 'VTR',
    '和硕': 'VUR',
    '和静': 'HJR',
    '和龙': 'HLL',
    '咸宁': 'XNN',
    '咸宁东': 'XKN',
    '咸宁北': 'XRN',
    '咸宁南': 'UNN',
    '咸阳': 'XYY',
    '咸阳秦都': 'XOY',
    '哈密': 'HMR',
    '哈尔滨': 'HBB',
    '哈尔滨东': 'VBB',
    '哈尔滨北': 'HTB',
    '哈尔滨西': 'VAB',
    '哈拉海': 'HIT',
    '哈拉苏': 'HAX',
    '哈达铺': 'HDJ',
    '响水县': 'XSU',
    '哲里木': 'ZLC',
    '唐家湾': 'PDQ',
    '唐山': 'TSP',
    '唐山北': 'FUP',
    '唐河': 'THF',
    '唐海南': 'IEP',
    '商丘': 'SQF',
    '商丘南': 'SPF',
    '商南': 'ONY',
    '商城': 'SWN',
    '商河': 'SOK',
    '商洛': 'OLY',
    '商都': 'SXC',
    '喀什': 'KSR',
    '喀喇其': 'KQX',
    '喀左': 'KZT',
    '喇嘛甸': 'LMX',
    '喜德': 'EDW',
    '嘉兴': 'JXH',
    '嘉兴南': 'EPH',
    '嘉善': 'JSH',
    '嘉善南': 'EAH',
    '嘉峪关': 'JGJ',
    '嘉峪关南': 'JBJ',
    '嘉峰': 'JFF',
    '嘉祥': 'JUK',
    '嘎什甸子': 'GXD',
    '四会': 'AHQ',
    '四合永': 'OHD',
    '四平': 'SPT',
    '四平东': 'PPT',
    '四方台': 'STB',
    '四棵树': 'SIR',
    '四道湾': 'OUD',
    '团结': 'TIX',
    '园墩': 'YAJ',
    '固原': 'GUJ',
    '固始': 'GXN',
    '固安': 'GFP',
    '固镇': 'GEH',
    '图们': 'TML',
    '图们北': 'QSL',
    '图强': 'TQX',
    '图里河': 'TEX',
    '土地堂东': 'TTN',
    '土桥子': 'TQJ',
    '土溪': 'TSW',
    '土牧尔台': 'TRC',
    '土贵乌拉': 'TGC',
    '土门子': 'TCJ',
    '坂田': 'BTQ',
    '坡底下': 'PXJ',
    '坪上': 'PSK',
    '坪石': 'PSQ',
    '垫江': 'DJE',
    '城固': 'CGY',
    '城固北': 'CBY',
    '城子坦': 'CWT',
    '城阳': 'CEK',
    '塔哈': 'THX',
    '塔城': 'TZR',
    '塔尔气': 'TVX',
    '塔崖驿': 'TYP',
    '塔河': 'TXX',
    '塔石嘴': 'TIM',
    '塘沽': 'TGP',
    '塘豹': 'TBQ',
    '墨玉': 'MUR',
    '壮志': 'ZUX',
    '复盛': 'FAW',
    '夏官营': 'XGJ',
    '夏石': 'XIZ',
    '夏邑县': 'EJH',
    '大丰': 'KRQ',
    '大余': 'DYG',
    '大元': 'DYZ',
    '大关': 'RGW',
    '大兴': 'DXX',
    '大兴沟': 'DXL',
    '大其拉哈': 'DQX',
    '大冶北': 'DBN',
    '大口屯': 'DKP',
    '大同': 'DTV',
    '大坝': 'DBJ',
    '大埔': 'DPI',
    '大堡': 'DVT',
    '大孤山': 'RMT',
    '大安': 'RAT',
    '大安北': 'RNT',
    '大官屯': 'DTT',
    '大屯': 'DNT',
    '大巴': 'DBD',
    '大平房': 'DPD',
    '大庆': 'DZX',
    '大庆东': 'LFX',
    '大庆西': 'RHX',
    '大成': 'DCT',
    '大战场': 'DTJ',
    '大拟': 'DNZ',
    '大方南': 'DNE',
    '大旺': 'WWQ',
    '大明湖': 'JAK',
    '大朗镇': 'KOQ',
    '大杖子': 'DAP',
    '大杨树': 'DUX',
    '大板': 'DBC',
    '大林': 'DLD',
    '大武口': 'DFJ',
    '大涧': 'DFP',
    '大湾子': 'DFM',
    '大灰厂': 'DHP',
    '大王滩': 'DZZ',
    '大理': 'DKM',
    '大田边': 'DBM',
    '大盘石': 'RPP',
    '大石头': 'DSL',
    '大石头南': 'DAL',
    '大石寨': 'RZT',
    '大石桥': 'DQT',
    '大磴沟': 'DKJ',
    '大禾塘': 'SOQ',
    '大竹园': 'DZY',
    '大红旗': 'DQD',
    '大英东': 'IAW',
    '大苴': 'DIM',
    '大荔': 'DNY',
    '大营': 'DYV',
    '大营子': 'DZD',
    '大营镇': 'DJP',
    '大虎山': 'DHD',
    '大足南': 'FQW',
    '大连': 'DLT',
    '大连北': 'DFT',
    '大连西': 'GZT',
    '大通西': 'DTO',
    '大邑': 'DEE',
    '大阳': 'RET',
    '大陆号': 'DLC',
    '大雁': 'DYX',
    '大青沟': 'DSD',
    '天义': 'TND',
    '天岗': 'TGL',
    '天柱山': 'QWH',
    '天桥岭': 'TQL',
    '天水': 'TSJ',
    '天水南': 'TIJ',
    '天河机场': 'TJN',
    '天河街': 'TEN',
    '天津': 'TJP',
    '天津北': 'TBP',
    '天津南': 'TIP',
    '天津西': 'TXP',
    '天祝': 'TZJ',
    '天镇': 'TZV',
    '天门': 'TMN',
    '天门南': 'TNN',
    '太原': 'TYV',
    '太原东': 'TDV',
    '太原北': 'TBV',
    '太原南': 'TNV',
    '太和北': 'JYN',
    '太姥山': 'TLS',
    '太平川': 'TIT',
    '太平镇': 'TEB',
    '太湖': 'TKH',
    '太谷': 'TGV',
    '太谷西': 'TIV',
    '太阳升': 'TQT',
    '太阳山': 'TYJ',
    '夹心子': 'JXT',
    '奇峰塔': 'QVP',
    '奈曼': 'NMD',
    '奈林皋': 'NGT',
    '奉化': 'FHH',
    '奎屯': 'KTR',
    '奎山': 'KAB',
    '如东': 'RIH',
    '如皋': 'RBH',
    '始兴': 'IPQ',
    '姚千户屯': 'YQT',
    '姚安': 'YAC',
    '姚家': 'YAT',
    '姚渡': 'AOJ',
    '姜堰': 'UEH',
    '姜家': 'JJB',
    '威海': 'WKK',
    '威海北': 'WHK',
    '威箐': 'WAM',
    '威舍': 'WSM',
    '威虎岭北': 'WBL',
    '娄山关南': 'LSE',
    '娄底': 'LDQ',
    '娄底南': 'UOQ',
    '娄烦': 'USV',
    '娘子关': 'NIP',
    '婺源': 'WYG',
    '嫩江': 'NGX',
    '子洲': 'ZZY',
    '子长': 'ZHY',
    '孙吴': 'SKB',
    '孙家': 'SUB',
    '孙镇': 'OZY',
    '孝南': 'XNV',
    '孝感': 'XGN',
    '孝感东': 'GDN',
    '孝感北': 'XJN',
    '孝西': 'XOV',
    '孟家岗': 'MGB',
    '孟庄': 'MZF',
    '孤家子': 'GKT',
    '孤山口': 'GSP',
    '宁东': 'NOJ',
    '宁东南': 'NDJ',
    '宁乡': 'NXQ',
    '宁国': 'NNH',
    '宁安': 'NAB',
    '宁家': 'NVT',
    '宁强南': 'NOY',
    '宁德': 'NES',
    '宁明': 'NMZ',
    '宁村': 'NCZ',
    '宁武': 'NWV',
    '宁波': 'NGH',
    '宁波东': 'NVH',
    '宁海': 'NHH',
    '宁陵县': 'NLF',
    '安亭北': 'ASH',
    '安仁': 'ARG',
    '安化': 'PKQ',
    '安口窑': 'AYY',
    '安图': 'ATL',
    '安图西': 'AXL',
    '安塘': 'ATV',
    '安多': 'ADO',
    '安定': 'ADP',
    '安家': 'AJB',
    '安平': 'APT',
    '安广': 'AGT',
    '安庆': 'AQH',
    '安庆西': 'APH',
    '安康': 'AKY',
    '安德': 'ARW',
    '安江东': 'ADA',
    '安溪': 'AXS',
    '安达': 'ADX',
    '安阳': 'AYF',
    '安阳东': 'ADF',
    '安陆': 'ALN',
    '安靖': 'PYW',
    '安顺': 'ASW',
    '安顺西': 'ASE',
    '安龙': 'AUZ',
    '宋': 'SOB',
    '宋城路': 'SFF',
    '宏克力': 'OKB',
    '宏庆': 'HEY',
    '官厅': 'GTP',
    '官厅西': 'KEP',
    '官字井': 'GOT',
    '官高': 'GVP',
    '定南': 'DNG',
    '定州': 'DXP',
    '定州东': 'DOP',
    '定襄': 'DXV',
    '定西': 'DSJ',
    '定西北': 'DNJ',
    '定边': 'DYJ',
    '定远': 'EWH',
    '定陶': 'DQK',
    '宜兴': 'YUH',
    '宜城': 'YIN',
    '宜宾': 'YBW',
    '宜州': 'YSZ',
    '宜昌': 'YCN',
    '宜昌东': 'HAN',
    '宜春': 'YEG',
    '宜春西': 'YCG',
    '宜耐': 'YVM',
    '宜良北': 'YSM',
    '宝华山': 'BWH',
    '宝坻': 'BPP',
    '宝拉格': 'BQC',
    '宝林': 'BNB',
    '宝泉岭': 'BQB',
    '宝清': 'BUB',
    '宝鸡': 'BJY',
    '宝鸡南': 'BBY',
    '宝龙山': 'BND',
    '宣化': 'XHP',
    '宣和': 'XWJ',
    '宣城': 'ECH',
    '宣威': 'XWM',
    '宣汉': 'XHY',
    '容县': 'RXZ',
    '容桂': 'RUQ',
    '宽甸': 'KDT',
    '宾州': 'BZB',
    '宾西北': 'BBB',
    '宾阳': 'UKZ',
    '宿州': 'OXH',
    '宿州东': 'SRH',
    '宿松': 'OAH',
    '密云北': 'MUP',
    '密山': 'MSB',
    '富县': 'FEY',
    '富县东': 'FDY',
    '富宁': 'FNM',
    '富川': 'FDZ',
    '富拉尔基': 'FRX',
    '富海': 'FHX',
    '富源': 'FYM',
    '富源北': 'FBM',
    '富裕': 'FYX',
    '富锦': 'FIB',
    '富阳': 'FYU',
    '寒岭': 'HAT',
    '寒葱沟': 'HKB',
    '察素齐': 'CSC',
    '寮步': 'LTQ',
    '对青山': 'DQB',
    '寿阳': 'SYV',
    '射阳': 'SAU',
    '将乐': 'JLS',
    '小东': 'XOD',
    '小哨': 'XAM',
    '小寺沟': 'ESP',
    '小岭': 'XLB',
    '小市': 'XST',
    '小得江': 'EJM',
    '小扬气': 'XYX',
    '小新街': 'XXM',
    '小月旧': 'XFM',
    '小村': 'XEM',
    '小榄': 'EAQ',
    '小河沿': 'XYD',
    '小河镇': 'EKY',
    '小董': 'XEZ',
    '小西庄': 'XXP',
    '小金口': 'NKQ',
    '小雨谷': 'XHM',
    '尖山': 'JPQ',
    '尖峰': 'PFQ',
    '尚家': 'SJB',
    '尚志': 'SZB',
    '尚志南': 'OZB',
    '尤溪': 'YXS',
    '尹地': 'YDM',
    '尼勒克': 'NIR',
    '尼木': 'NMO',
    '屏边': 'PBM',
    '山丹': 'SDJ',
    '山坡东': 'SBN',
    '山城镇': 'SCL',
    '山市': 'SQB',
    '山河屯': 'SHL',
    '山海关': 'SHD',
    '山阴': 'SNV',
    '岐山': 'QAY',
    '岑溪': 'CNZ',
    '岔江': 'CAM',
    '岚县': 'UXV',
    '岚山西': 'UWK',
    '岢岚': 'KLV',
    '岩会': 'AEP',
    '岱岳': 'RYV',
    '岳家井': 'YGJ',
    '岳池': 'AWW',
    '岳阳': 'YYQ',
    '岳阳东': 'YIQ',
    '岷县': 'MXJ',
    '峡江': 'EJG',
    '峨眉': 'EMW',
    '峨眉山': 'IXW',
    '峨边': 'EBW',
    '峻德': 'JDB',
    '崇仁': 'CRG',
    '崇州': 'CZE',
    '崇左': 'CZZ',
    '崔黄口': 'CHP',
    '崖州': 'YUQ',
    '嵩明': 'SVM',
    '嵯岗': 'CAX',
    '巢湖': 'CIH',
    '巢湖东': 'GUH',
    '工农湖': 'GRT',
    '左岭': 'ZSN',
    '巨宝': 'JRT',
    '巨野': 'JYK',
    '巩义': 'GXF',
    '巩义南': 'GYF',
    '巴东': 'BNN',
    '巴中': 'IEW',
    '巴中东': 'BDE',
    '巴山': 'BAY',
    '巴彦高勒': 'BAC',
    '巴林': 'BLX',
    '巴楚': 'BCR',
    '布列开': 'BLR',
    '布海': 'BUT',
    '师宗': 'SEM',
    '师庄': 'SNM',
    '带岭': 'DLB',
    '常山': 'CSU',
    '常州': 'CZH',
    '常州北': 'ESH',
    '常平': 'DAQ',
    '常平东': 'FQQ',
    '常平南': 'FPQ',
    '常庄': 'CVK',
    '常德': 'VGQ',
    '帽儿山': 'MRB',
    '帽儿山西': 'MUB',
    '干塘': 'GNJ',
    '干沟': 'GGL',
    '平关': 'PGM',
    '平凉': 'PIJ',
    '平凉南': 'POJ',
    '平南南': 'PAZ',
    '平原': 'PYK',
    '平原东': 'PUK',
    '平原堡': 'PPJ',
    '平台': 'PVT',
    '平坝南': 'PBE',
    '平型关': 'PGV',
    '平安': 'PAL',
    '平安镇': 'PZT',
    '平安驿': 'PNO',
    '平山': 'PSB',
    '平岗': 'PGL',
    '平峪': 'PYP',
    '平庄': 'PZD',
    '平庄南': 'PND',
    '平度': 'PAK',
    '平房': 'PFB',
    '平旺': 'PWV',
    '平昌': 'PCE',
    '平果': 'PGZ',
    '平河口': 'PHM',
    '平泉': 'PQP',
    '平泉北': 'PBP',
    '平洋': 'PYX',
    '平湖': 'PHQ',
    '平田': 'PTM',
    '平社': 'PSV',
    '平遥': 'PYV',
    '平遥古城': 'PDV',
    '平邑': 'PIK',
    '平顶山': 'PEN',
    '平顶山西': 'BFF',
    '广元': 'GYW',
    '广元南': 'GAW',
    '广南卫': 'GNM',
    '广南县': 'GXM',
    '广宁': 'FBQ',
    '广宁寺': 'GQT',
    '广宁寺南': 'GNT',
    '广安': 'VJW',
    '广安南': 'VUW',
    '广州': 'GZQ',
    '广州东': 'GGQ',
    '广州北': 'GBQ',
    '广州南': 'IZQ',
    '广州西': 'GXQ',
    '广德': 'GRH',
    '广水': 'GSN',
    '广汉': 'GHW',
    '广汉北': 'GVW',
    '广通北': 'GPM',
    '庄桥': 'ZQH',
    '庄河北': 'ZUT',
    '庆丰': 'QFT',
    '庆安': 'QAB',
    '庆盛': 'QSQ',
    '庆阳山': 'QSJ',
    '庐山': 'LSG',
    '庐江': 'UJH',
    '库伦': 'KLD',
    '库尔勒': 'KLR',
    '库车': 'KCR',
    '库都尔': 'KDX',
    '应县': 'YZV',
    '应城': 'YHN',
    '庙城': 'MAP',
    '庙山': 'MSN',
    '庙岭': 'MLL',
    '庙庄': 'MZJ',
    '康城': 'KCP',
    '康庄': 'KZP',
    '康熙岭': 'KXZ',
    '康金井': 'KJB',
    '廉江': 'LJZ',
    '廊坊': 'LJP',
    '廊坊北': 'LFP',
    '延吉': 'YJL',
    '延吉西': 'YXL',
    '延安': 'YWY',
    '延平西': 'YWS',
    '延庆': 'YNP',
    '建三江': 'JIB',
    '建始': 'JRN',
    '建宁县北': 'JCS',
    '建安': 'JUL',
    '建德': 'JDU',
    '建昌': 'JFD',
    '建水': 'JSM',
    '建湖': 'AJH',
    '建瓯': 'JVS',
    '建瓯西': 'JUS',
    '建设': 'JET',
    '建阳': 'JYS',
    '开化': 'KHU',
    '开原': 'KYT',
    '开原西': 'KXT',
    '开安': 'KAT',
    '开封': 'KFF',
    '开封北': 'KBF',
    '开平南': 'PVQ',
    '开江': 'KAW',
    '开福寺': 'FLQ',
    '开阳': 'KVW',
    '开鲁': 'KLC',
    '弋江': 'RVH',
    '弋阳': 'YIG',
    '弓棚子': 'GPT',
    '张兰': 'ZLV',
    '张家口': 'ZMP',
    '张家口南': 'IXP',
    '张家川': 'ZIJ',
    '张家界': 'DIQ',
    '张掖': 'ZYJ',
    '张掖西': 'ZEJ',
    '张桥': 'ZQY',
    '张百湾': 'ZUP',
    '张维屯': 'ZWB',
    '张辛': 'ZIP',
    '弥勒': 'MLM',
    '弥渡': 'MDF',
    '归流河': 'GHT',
    '当涂东': 'OWH',
    '当阳': 'DYN',
    '彝良': 'ALW',
    '彬州': 'BXY',
    '彭山': 'PSW',
    '彭山北': 'PPW',
    '彭州': 'PMW',
    '彭州南': 'PKW',
    '彭水': 'PHW',
    '彭泽': 'PZG',
    '彭阳': 'PYJ',
    '彰武': 'ZWD',
    '徐家': 'XJB',
    '徐家店': 'HYK',
    '徐州': 'XCH',
    '徐州东': 'UUH',
    '徐水': 'XSP',
    '徐闻': 'XJQ',
    '得耳布尔': 'DRX',
    '得莫利': 'DTB',
    '徘徊北': 'PHP',
    '微子镇': 'WQP',
    '德令哈': 'DHO',
    '德伯斯': 'RDT',
    '德保': 'RBZ',
    '德兴': 'DWG',
    '德兴东': 'DDG',
    '德安': 'DAG',
    '德州': 'DZP',
    '德州东': 'DIP',
    '德惠': 'DHT',
    '德惠西': 'DXT',
    '德昌': 'DVW',
    '德清': 'DRH',
    '德清西': 'MOH',
    '德阳': 'DYW',
    '徽县': 'HYY',
    '忻州': 'XXV',
    '忻州西': 'IXV',
    '怀仁': 'HRV',
    '怀仁东': 'HFV',
    '怀化': 'HHQ',
    '怀化南': 'KAQ',
    '怀柔': 'HRP',
    '怀柔北': 'HBP',
    '怀集': 'FAQ',
    '恩平': 'PXQ',
    '恩施': 'ESN',
    '恭城': 'GCZ',
    '息县': 'ENN',
    '息烽': 'XFW',
    '悬钟': 'XRP',
    '惠东': 'KDQ',
    '惠农': 'HMJ',
    '惠安': 'HNS',
    '惠山': 'VCH',
    '惠州': 'HCQ',
    '惠州南': 'KNQ',
    '惠州西': 'VXQ',
    '惠环': 'KHQ',
    '慈利': 'CUQ',
    '成吉思汗': 'CJX',
    '成都': 'CDW',
    '成都东': 'ICW',
    '成都南': 'CNW',
    '成都西': 'CMW',
    '成高子': 'CZB',
    '戚墅堰': 'QYH',
    '扎兰屯': 'ZTX',
    '扎赉诺尔西': 'ZXX',
    '扎鲁特': 'ZLD',
    '打柴沟': 'DGJ',
    '托克托东': 'TVC',
    '扬州': 'YLH',
    '扶余': 'FYT',
    '扶余北': 'FBT',
    '扶绥': 'FSZ',
    '承德': 'CDP',
    '承德东': 'CCP',
    '承德南': 'IVP',
    '承德县北': 'IYP',
    '抚宁': 'FNP',
    '抚州': 'FZG',
    '抚州东': 'FDG',
    '抚州北': 'FBG',
    '抚松': 'FSL',
    '抚远': 'FYB',
    '抚顺': 'FST',
    '抚顺北': 'FET',
    '拉古': 'LGB',
    '拉哈': 'LHX',
    '拉林': 'LAB',
    '拉萨': 'LSO',
    '拉鲊': 'LEM',
    '招柏': 'ZBP',
    '换新天': 'VTB',
    '揭阳': 'JRQ',
    '攀枝花': 'PRW',
    '攸县': 'YOG',
    '攸县南': 'YXG',
    '敖力布告': 'ALD',
    '敖汉': 'YED',
    '敦化': 'DHL',
    '敦煌': 'DHJ',
    '文地': 'WNZ',
    '文安': 'WBP',
    '文昌': 'WEQ',
    '文水': 'WEV',
    '文登': 'WBK',
    '文登东': 'WGK',
    '斜河涧': 'EEP',
    '新乐': 'ELP',
    '新乡': 'XXF',
    '新乡东': 'EGF',
    '新会': 'EFQ',
    '新余': 'XUG',
    '新余北': 'XBG',
    '新保安': 'XAP',
    '新兴县': 'XGQ',
    '新化': 'EHQ',
    '新化南': 'EJQ',
    '新华': 'XHB',
    '新华屯': 'XAX',
    '新县': 'XSN',
    '新友谊': 'EYB',
    '新和': 'XIR',
    '新坪田': 'XPM',
    '新城子': 'XCT',
    '新安': 'EAM',
    '新安县': 'XAF',
    '新帐房': 'XZX',
    '新干': 'EGG',
    '新晃': 'XLQ',
    '新晃西': 'EWQ',
    '新李': 'XLJ',
    '新杖子': 'ERP',
    '新松浦': 'XOB',
    '新林': 'XPX',
    '新民': 'XMD',
    '新民北': 'XOT',
    '新江': 'XJM',
    '新沂': 'VIH',
    '新津': 'IRW',
    '新津南': 'ITW',
    '新窝铺': 'EPD',
    '新立屯': 'XLD',
    '新立镇': 'XGT',
    '新绛': 'XJV',
    '新绰源': 'XRX',
    '新肇': 'XZT',
    '新邱': 'XQD',
    '新郑机场': 'EZF',
    '新都东': 'EWW',
    '新阳镇': 'XZJ',
    '新青': 'XQB',
    '新香坊北': 'RHB',
    '方正': 'FNB',
    '施家嘴': 'SHM',
    '施秉': 'AQW',
    '旅顺': 'LST',
    '旌德': 'NSH',
    '旗下营': 'QXC',
    '旗下营南': 'QNC',
    '无为': 'IIH',
    '无为南': 'WWU',
    '无锡': 'WXH',
    '无锡东': 'WGH',
    '无锡新区': 'IFH',
    '日喀则': 'RKO',
    '日照': 'RZK',
    '日照西': 'KZK',
    '旧庄窝': 'JVP',
    '旬阳': 'XUY',
    '旬阳北': 'XBY',
    '旺苍': 'WEW',
    '昂昂溪': 'AAX',
    '昆山': 'KSH',
    '昆山南': 'KNH',
    '昆明': 'KMM',
    '昆明南': 'KOM',
    '昆明西': 'KXM',
    '昆玉': 'ESR',
    '昆都仑召': 'KDC',
    '昆阳': 'KAM',
    '昌': 'NOG',
    '昌乐': 'CLK',
    '昌图': 'CTT',
    '昌图西': 'CPT',
    '昌平': 'CPP',
    '昌平北': 'VBP',
    '昌黎': 'CLP',
    '明光': 'MGH',
    '明城': 'MCL',
    '明水河': 'MUT',
    '明港': 'MGN',
    '明港东': 'MDN',
    '明珠': 'MFQ',
    '春湾': 'CQQ',
    '春阳': 'CAL',
    '昭化': 'ZHW',
    '昭山': 'KWQ',
    '昭通': 'ZDW',
    '晋中': 'JZV',
    '晋城': 'JCF',
    '晋城北': 'JEF',
    '晋州': 'JXP',
    '晋江': 'JJS',
    '晏城': 'YEK',
    '晨明': 'CMB',
    '普兰店': 'PLT',
    '普宁': 'PEQ',
    '普安': 'PAN',
    '普安县': 'PUE',
    '普定': 'PGW',
    '普湾': 'PWT',
    '普者黑': 'PZM',
    '普雄': 'POW',
    '景州': 'JEP',
    '景德镇': 'JCG',
    '景德镇北': 'JDG',
    '景泰': 'JTJ',
    '暖泉': 'NQJ',
    '暮云': 'KIQ',
    '曲水县': 'QSO',
    '曲江': 'QIM',
    '曲阜': 'QFK',
    '曲阜东': 'QAK',
    '曲靖': 'QJM',
    '曲靖北': 'QBM',
    '曹县': 'CXK',
    '曹妃甸东': 'POP',
    '曹妃甸港': 'PGP',
    '曹子里': 'CFP',
    '曾口': 'ZKE',
    '曾家坪子': 'ZBW',
    '月亮田': 'YUM',
    '月山': 'YBF',
    '朔州': 'SUV',
    '朗乡': 'LXB',
    '望都': 'WDP',
    '朝天': 'CTE',
    '朝天南': 'CTY',
    '朝阳': 'VBT',
    '朝阳南': 'CYD',
    '朝阳地': 'CDD',
    '朝阳川': 'CYL',
    '朝阳湖': 'CYE',
    '朝阳镇': 'CZL',
    '木里图': 'MUD',
    '本溪': 'BXT',
    '本溪新城': 'BVT',
    '本溪湖': 'BHT',
    '朱家沟': 'ZUB',
    '朱家窑': 'ZUJ',
    '朱日和': 'ZRC',
    '朱砂古镇': 'ZSE',
    '李家': 'LJB',
    '李家坪': 'LIJ',
    '李旺': 'VLJ',
    '李石寨': 'LET',
    '杏树': 'XSB',
    '杏树屯': 'XDT',
    '杜家': 'DJL',
    '杜尔伯特': 'TKX',
    '来宾': 'UBZ',
    '来宾北': 'UCZ',
    '来舟': 'LZS',
    '杨岗': 'YRB',
    '杨村': 'YBP',
    '杨杖子': 'YZD',
    '杨林': 'YLM',
    '杨柳青': 'YQP',
    '杨树岭': 'YAD',
    '杨桥': 'YQA',
    '杨陵': 'YSY',
    '杨陵南': 'YEY',
    '杭州': 'HZH',
    '杭州东': 'HGH',
    '杭州南': 'XHH',
    '杭锦后旗': 'HDC',
    '*': 'VYT',
    '*北': 'OCT',
    '松山湖北': 'KUQ',
    '松树': 'SFT',
    '松树镇': 'SSL',
    '松桃': 'MZQ',
    '松江': 'SAH',
    '松江南': 'IMH',
    '松江河': 'SJL',
    '松江镇': 'OZL',
    '松河': 'SBM',
    '松滋': 'SIN',
    '板城': 'BUP',
    '板塘': 'NGQ',
    '林东': 'LRC',
    '林口': 'LKB',
    '林海': 'LXX',
    '林源': 'LYX',
    '林盛堡': 'LBT',
    '林西': 'LXC',
    '果松': 'GSL',
    '枝城': 'ZCN',
    '枝江北': 'ZIN',
    '枣庄': 'ZEK',
    '枣庄东': 'ZNK',
    '枣庄西': 'ZFK',
    '枣强': 'ZVP',
    '枣林': 'ZIV',
    '枣阳': 'ZYN',
    '枫林': 'FLN',
    '柏果': 'BGM',
    '柞水': 'ZSY',
    '查布嘎': 'CBC',
    '查干湖': 'VAT',
    '柳园': 'DHR',
    '柳园南': 'LNR',
    '柳州': 'LZZ',
    '柳林南': 'LKV',
    '柳树屯': 'LSD',
    '柳江': 'UQZ',
    '柳河': 'LNL',
    '柴岗': 'CGT',
    '柴沟堡': 'CGV',
    '柴河': 'CHB',
    '树木岭': 'FMQ',
    '栟茶': 'FWH',
    '株洲': 'ZZQ',
    '株洲南': 'KVQ',
    '株洲西': 'ZAQ',
    '根河': 'GEX',
    '格尔木': 'GRO',
    '桂平': 'GAZ',
    '桂林': 'GLZ',
    '桂林北': 'GBZ',
    '桂林西': 'GEZ',
    '桃山': 'TAB',
    '桃村': 'TCK',
    '桃村北': 'TOK',
    '桐乡': 'TCH',
    '桐城': 'TTH',
    '桐子林': 'TEW',
    '桐庐': 'TLU',
    '桐柏': 'TBF',
    '桐梓': 'TZW',
    '桐梓东': 'TDE',
    '桐梓北': 'TBE',
    '桑园子': 'SAJ',
    '桑根达来': 'OGC',
    '桓台': 'VTK',
    '桥头': 'QAT',
    '桥西': 'QXJ',
    '桦南': 'HNB',
    '桦林': 'HIB',
    '梁山': 'LMK',
    '梁平': 'UQW',
    '梁平南': 'LPE',
    '梁底下': 'LDP',
    '梅州': 'MOQ',
    '梅河口': 'MHL',
    '梧州': 'WZZ',
    '梧州南': 'WBZ',
    '梨树镇': 'LSB',
    '棋子湾': 'QZQ',
    '棕溪': 'ZOY',
    '棠海': 'THM',
    '楚山': 'CSB',
    '楚雄': 'CUM',
    '楚雄南': 'COM',
    '榆中': 'IZJ',
    '榆林': 'ALY',
    '榆树': 'YRT',
    '榆树台': 'YUT',
    '榆树屯': 'YSX',
    '榆树沟': 'YGP',
    '榆次': 'YCV',
    '榆社': 'YSV',
    '榕江': 'RVW',
    '槐荫': 'IYN',
    '樟木头': 'ZOQ',
    '樟木头东': 'ZRQ',
    '樟树': 'ZSG',
    '樟树东': 'ZOG',
    '横峰': 'HFG',
    '横沟桥东': 'HNN',
    '横道河子': 'HDB',
    '横道河子东': 'KUX',
    '歙县': 'OVH',
    '歙县北': 'NPH',
    '正定': 'ZDP',
    '正定机场': 'ZHP',
    '正镶白旗': 'ZXC',
    '步行街': 'BWW',
    '武义': 'RYH',
    '武义北': 'WDH',
    '武乡': 'WVV',
    '武功': 'WGY',
    '武夷山': 'WAS',
    '武夷山东': 'WCS',
    '武夷山北': 'WBS',
    '武威': 'WUJ',
    '武威南': 'WWJ',
    '武安': 'WAP',
    '武山': 'WSJ',
    '武当山': 'WRN',
    '武昌': 'WCN',
    '武汉': 'WHN',
    '武清': 'WWP',
    '武穴': 'WXN',
    '武胜': 'WSE',
    '武陟': 'WIF',
    '武隆': 'WLW',
    '歪头山': 'WIT',
    '毛坝': 'MBY',
    '毛坝关': 'MGY',
    '毛陈': 'MHN',
    '民乐': 'MBJ',
    '民和南': 'MNO',
    '民权': 'MQF',
    '民权北': 'MIF',
    '水家湖': 'SQH',
    '水富': 'OTW',
    '水泉': 'SID',
    '水洋': 'OYP',
    '水洞': 'SIL',
    '水源': 'OYJ',
    '永丰营': 'YYM',
    '永乐店': 'YDY',
    '永修': 'ACG',
    '永嘉': 'URH',
    '永城北': 'RGH',
    '永安': 'YAS',
    '永安乡': 'YNB',
    '永安南': 'YQS',
    '永定': 'YGS',
    '永寿': 'ASY',
    '永川': 'YCW',
    '永川东': 'WMW',
    '永州': 'AOQ',
    '永康': 'RFH',
    '永康南': 'QUH',
    '永泰': 'YTS',
    '永济': 'YIV',
    '永济北': 'AJV',
    '永登': 'YDJ',
    '永福南': 'YBZ',
    '永郎': 'YLW',
    '汉中': 'HOY',
    '汉口': 'HKN',
    '汉寿': 'VSQ',
    '汉川': 'HCN',
    '汉沽': 'HGP',
    '汉源': 'WHW',
    '汉阴': 'HQY',
    '汐子': 'XZD',
    '汕头': 'OTQ',
    '汕尾': 'OGQ',
    '汝州': 'ROF',
    '汝箕沟': 'RQJ',
    '汝阳': 'RYF',
    '江华': 'JHZ',
    '江宁': 'JJH',
    '江宁西': 'OKH',
    '*': 'JUH',
    '江所田': 'JOM',
    '江桥': 'JQX',
    '江永': 'JYZ',
    '江油': 'JFW',
    '江油北': 'JBE',
    '江津': 'JJW',
    '江源': 'SZL',
    '江边村': 'JBG',
    '江都': 'UDH',
    '江门东': 'JWQ',
    '池州': 'IYH',
    '汤原': 'TYB',
    '汤山城': 'TCT',
    '汤旺河': 'THB',
    '汤池': 'TCX',
    '汤逊湖': 'THN',
    '汤阴': 'TYF',
    '汨罗': 'MLQ',
    '汨罗东': 'MQQ',
    '汪清': 'WQL',
    '汾河': 'FEV',
    '汾阳': 'FAV',
    '沁县': 'QVV',
    '沁阳': 'QYF',
    '沂南': 'YNK',
    '沂水': 'YUK',
    '沃皮': 'WPT',
    '沈丘': 'SQN',
    '沈家': 'OJB',
    '沈家河': 'OJJ',
    '沈阳': 'SYT',
    '沈阳东': 'SDT',
    '沈阳北': 'SBT',
    '沈阳南': 'SOT',
    '沈阳西': 'OOT',
    '沐滂': 'MPQ',
    '沙县': 'SAS',
    '沙后所': 'SSD',
    '沙坡头': 'SFJ',
    '沙坪坝': 'CYW',
    '沙城': 'SCP',
    '沙岭子': 'SLP',
    '沙桥': 'SQM',
    '沙沱': 'SFM',
    '沙河': 'SHP',
    '沙河口': 'SKT',
    '沙河市': 'VOP',
    '沙海': 'SED',
    '沙湾县': 'SXR',
    '沟帮子': 'GBD',
    '沥林北': 'KBQ',
    '沧州': 'COP',
    '沧州西': 'CBP',
    '沭阳': 'FMH',
    '河口北': 'HBM',
    '河口南': 'HKJ',
    '河唇': 'HCZ',
    '河津': 'HJV',
    '河源': 'VIQ',
    '河边': 'HBV',
    '河间西': 'HXP',
    '治安': 'ZAD',
    '沿河城': 'YHP',
    '泉州': 'QYS',
    '泉州东': 'QRS',
    '泉阳': 'QYL',
    '泊头': 'BZP',
    '法启': 'FQE',
    '泗县': 'GPH',
    '泗水': 'OSK',
    '泗洪': 'GQH',
    '泗阳': 'MPH',
    '泡子': 'POD',
    '泥河子': 'NHD',
    '泰和': 'THG',
    '泰宁': 'TNS',
    '泰安': 'TMK',
    '泰山': 'TAK',
    '泰州': 'UTH',
    '泰来': 'TLX',
    '泽普': 'ZPR',
    '泽润里': 'ZLM',
    '泾县': 'LOH',
    '泾川': 'JAJ',
    '洋县西': 'YXY',
    '洋河': 'GTH',
    '洛湾三江': 'KRW',
    '洛门': 'LMJ',
    '洛阳': 'LYF',
    '洛阳东': 'LDF',
    '洛阳龙门': 'LLF',
    '洞井': 'FWQ',
    '洞口': 'DKA',
    '洞庙河': 'DEP',
    '洪河': 'HPB',
    '洪洞': 'HDV',
    '洪洞西': 'HTV',
    '洮南': 'TVT',
    '流水沟': 'USP',
    '济南': 'JNK',
    '济南东': 'MDK',
    '济南西': 'JGK',
    '济宁': 'JIK',
    '济源': 'JYF',
    '浑河': 'HHT',
    '浠水': 'XZN',
    '浩良河': 'HHB',
    '浮图峪': 'FYP',
    '海东西': 'HDO',
    '海伦': 'HLB',
    '海北': 'HEB',
    '海口': 'VUQ',
    '海口东': 'HMQ',
    '海坨子': 'HZT',
    '海城': 'HCT',
    '海城西': 'HXT',
    '海宁': 'HNH',
    '海宁西': 'EUH',
    '海安': 'HIH',
    '海拉尔': 'HRX',
    '海晏': 'HFO',
    '海林': 'HRB',
    '海林北': 'KBX',
    '海湾': 'RWH',
    '海石湾': 'HSO',
    '海门': 'HMU',
    '海阳北': 'HEK',
    '海龙': 'HIL',
    '涉县': 'OEP',
    '涞源': 'LYP',
    '涟源': 'LAQ',
    '涡阳': 'GYH',
    '涪陵': 'FLW',
    '涪陵北': 'FEW',
    '涵江': 'HJS',
    '涿州': 'ZXP',
    '涿州东': 'ZAP',
    '淄博': 'ZBK',
    '淄博北': 'ZRK',
    '淮北': 'HRH',
    '淮北北': 'PLH',
    '淮南': 'HAH',
    '淮南东': 'HOH',
    '淮安': 'AUH',
    '淮安南': 'AMH',
    '淮滨': 'HVN',
    '深井子': 'SWT',
    '深圳': 'SZQ',
    '深圳东': 'BJQ',
    '深圳北': 'IOQ',
    '深圳坪山': 'IFQ',
    '深圳西': 'OSQ',
    '深州': 'OZP',
    '清华园': 'QHP',
    '清原': 'QYT',
    '清徐': 'QUV',
    '清水': 'QUJ',
    '清水北': 'QEJ',
    '清水县': 'QIJ',
    '清河': 'QIP',
    '清河城': 'QYP',
    '清河门': 'QHD',
    '清河门北': 'QBD',
    '清涧县': 'QNY',
    '清远': 'QBQ',
    '渑池': 'MCF',
    '渑池南': 'MNF',
    '渠县': 'QRW',
    '渠旧': 'QJZ',
    '渠黎': 'QLZ',
    '温岭': 'VHH',
    '温州': 'RZH',
    '温州南': 'VRH',
    '温春': 'WDB',
    '温江': 'WJE',
    '渭南': 'WNY',
    '渭南北': 'WBY',
    '渭南南': 'WVY',
    '渭南镇': 'WNJ',
    '渭津': 'WJL',
    '渭源': 'WEJ',
    '湖口': 'HKG',
    '湖州': 'VZH',
    '湘乡': 'XXQ',
    '湘府路': 'FVQ',
    '湘潭': 'XTQ',
    '湘潭北': 'EDQ',
    '湛江': 'ZJZ',
    '湛江西': 'ZWQ',
    '湟源': 'HNO',
    '湾沟': 'WGL',
    '溆浦': 'EPQ',
    '溆浦南': 'EMQ',
    '源潭': 'YTQ',
    '源迁': 'AQK',
    '溧水': 'LDH',
    '溧阳': 'LEH',
    '滁州': 'CXH',
    '滁州北': 'CUH',
    '滕州': 'TXK',
    '滕州东': 'TEK',
    '满归': 'MHX',
    '满洲里': 'MLX',
    '滦县': 'UXP',
    '滦平': 'UPP',
    '滦河': 'UDP',
    '滦河沿': 'UNP',
    '滨州': 'BIK',
    '滨江': 'BJB',
    '滨海': 'YKP',
    '滨海北': 'FCP',
    '滨海港': 'BGU',
    '滨海西': 'FHP',
    '滴道': 'DDB',
    '漠河': 'MVX',
    '漫水湾': 'MKW',
    '漯河': 'LON',
    '漯河西': 'LBN',
    '漳县': 'ZXJ',
    '漳州': 'ZUS',
    '漳州东': 'GOS',
    '漳平': 'ZPS',
    '漳平西': 'ZXG',
    '漳浦': 'ZCS',
    '潍坊': 'WFK',
    '潍坊北': 'WJK',
    '潘家店': 'PDP',
    '潜江': 'QJN',
    '潞城': 'UTP',
    '潢川': 'KCN',
    '潮州': 'CKQ',
    '潮汕': 'CBQ',
    '潮阳': 'CNQ',
    '潼关': 'TGY',
    '潼南': 'TVW',
    '澄城': 'CUY',
    '澧县': 'LEQ',
    '濑湍': 'LVZ',
    '濮阳': 'PYF',
    '灌水': 'GST',
    '火连寨': 'HLT',
    '灯塔': 'DGT',
    '灵丘': 'LVV',
    '灵宝': 'LBF',
    '灵宝西': 'LPF',
    '灵武': 'LNJ',
    '灵璧': 'GMH',
    '灵石': 'LSV',
    '灵石东': 'UDV',
    '炎陵': 'YAG',
    '烟台': 'YAK',
    '烟台南': 'YLK',
    '烟台西': 'YTK',
    '烟筒屯': 'YUX',
    '烟筒山': 'YSL',
    '热水': 'RSD',
    '焉耆': 'YSR',
    '焦作': 'JOF',
    '焦作东': 'WEF',
    '照福铺': 'ZFM',
    '熊岳城': 'XYT',
    '燕子砭': 'YZY',
    '燕家庄': 'AZK',
    '燕山': 'AOP',
    '燕岗': 'YGW',
    '燕郊': 'AJP',
    '牙克石': 'YKX',
    '牙屯堡': 'YTZ',
    '牛家': 'NJB',
    '牛心台': 'NXT',
    '牛河梁': 'LKT',
    '牟平': 'MBK',
    '牡丹江': 'MDB',
    '犀浦': 'XIW',
    '犀浦东': 'XAW',
    '独山': 'RWW',
    '独立屯': 'DTX',
    '狮山': 'KSQ',
    '狮山北': 'NSQ',
    '狼尾山': 'LRJ',
    '猛洞河': 'MUQ',
    '玉屏': 'YZW',
    '玉山': 'YNG',
    '玉山南': 'YGG',
    '玉林': 'YLZ',
    '玉泉': 'YQB',
    '玉溪': 'AXM',
    '玉溪西': 'YXM',
    '玉田县': 'ATP',
    '玉石': 'YSJ',
    '玉舍': 'AUM',
    '玉门': 'YXJ',
    '王兆屯': 'WZB',
    '王团庄': 'WZJ',
    '王安镇': 'WVP',
    '王家湾': 'WJJ',
    '王家营西': 'KNM',
    '王岗': 'WGB',
    '王府': 'WUT',
    '王杨': 'WYB',
    '王瞳': 'WTP',
    '玛纳斯': 'MSR',
    '玛纳斯湖': 'MNR',
    '珞璜南': 'LNE',
    '珠斯花': 'ZHD',
    '珠海': 'ZHQ',
    '珠海北': 'ZIQ',
    '珠琳': 'ZOM',
    '珠窝': 'ZOP',
    '班猫箐': 'BNM',
    '珲春': 'HUL',
    '琼海': 'QYQ',
    '瑞安': 'RAH',
    '瑞昌': 'RCG',
    '瑞昌西': 'RXG',
    '瑞金': 'RJG',
    '璧山': 'FZW',
    '瓜州': 'GZJ',
    '瓢儿屯': 'PRT',
    '瓦屋山': 'WAH',
    '瓦房店': 'WDT',
    '瓦房店西': 'WXT',
    '瓦拉干': 'WVX',
    '瓦窑田': 'WIM',
    '甘旗卡': 'GQD',
    '甘河': 'GAX',
    '甘泉': 'GQY',
    '甘泉北': 'GEY',
    '甘洛': 'VOW',
    '甘草店': 'GDJ',
    '甘谷': 'GGJ',
    '田东': 'TDZ',
    '田东北': 'TBZ',
    '田师府': 'TFT',
    '田心东': 'KQQ',
    '田林': 'TFZ',
    '田阳': 'TRZ',
    '甲山': 'JOP',
    '电白': 'NWQ',
    '甸心': 'DXM',
    '界首市': 'JUN',
    '略阳': 'LYY',
    '疏勒': 'SUR',
    '疏勒河': 'SHJ',
    '登沙河': 'DWT',
    '白云鄂博': 'BEC',
    '白城': 'BCT',
    '白壁关': 'BGV',
    '白奎堡': 'BKB',
    '白山市': 'HJL',
    '白文东': 'BCV',
    '白旗': 'BQP',
    '白水县': 'BGY',
    '白水江': 'BSY',
    '白水镇': 'BUM',
    '白沙坡': 'BPM',
    '白沙铺': 'BSN',
    '白沟': 'FEP',
    '白河': 'BEL',
    '白河东': 'BIY',
    '白河县': 'BEY',
    '白泉': 'BQL',
    '白洋淀': 'FWP',
    '白涧': 'BAP',
    '白狼': 'BAT',
    '白石山': 'BAL',
    '白芨沟': 'BJJ',
    '白银市': 'BNJ',
    '白银西': 'BXJ',
    '白音他拉': 'BID',
    '白音华南': 'FNC',
    '白音察干': 'BYC',
    '白音胡硕': 'BCD',
    '白马井': 'BFQ',
    '白鸡坡': 'BBM',
    '百宜': 'FHW',
    '百浪': 'BRZ',
    '百色': 'BIZ',
    '百里峡': 'AAP',
    '皇姑屯': 'HTT',
    '皋兰': 'GEJ',
    '皮口': 'PUT',
    '皮口南': 'PKT',
    '皮山': 'PSR',
    '益阳': 'AEQ',
    '盐城': 'AFH',
    '盐城北': 'AEH',
    '盐池': 'YKJ',
    '盐津': 'AEW',
    '盖州': 'GXT',
    '盖州西': 'GAT',
    '盘关': 'PAM',
    '盘山': 'PUD',
    '盘州': 'PAE',
    '盘锦': 'PVD',
    '盘锦北': 'PBD',
    '盘龙城': 'PNN',
    '眉山': 'MSW',
    '眉山东': 'IUW',
    '石人': 'SRL',
    '石人城': 'SRB',
    '石嘴山': 'QQJ',
    '石坝': 'OBJ',
    '石城': 'SCT',
    '石头': 'OTB',
    '石家庄': 'SJP',
    '石家庄东': 'SXP',
    '石家庄北': 'VVP',
    '石山': 'SAD',
    '石岘': 'SXL',
    '石岭': 'SOL',
    '石峡子': 'SXJ',
    '石景山南': 'SRP',
    '石林': 'SLM',
    '石林南': 'LNM',
    '石林西': 'SYM',
    '石柱县': 'OSW',
    '石桥': 'SQE',
    '石桥子': 'SQT',
    '石梯': 'STE',
    '石河子': 'SZR',
    '石泉县': 'SXY',
    '石磷': 'SPB',
    '石门县': 'OMQ',
    '石门县北': 'VFQ',
    '石龙': 'SLQ',
    '砀山': 'DKH',
    '砀山南': 'PRH',
    '砚川': 'YYY',
    '确山': 'QSN',
    '碧江': 'BLQ',
    '碧鸡关': 'BJM',
    '碱厂': 'JUT',
    '碾子山': 'NZX',
    '磁县': 'CIP',
    '磁山': 'CSP',
    '磁窑': 'CYK',
    '磁西': 'CRP',
    '磐安镇': 'PAJ',
    '磐石': 'PSL',
    '磨刀石': 'MOB',
    '礼泉': 'LGY',
    '祁东': 'QMQ',
    '祁东北': 'QRQ',
    '祁县': 'QXV',
    '祁县东': 'QGV',
    '祁家堡': 'QBT',
    '祁门': 'QIH',
    '祁阳': 'QWQ',
    '祁阳北': 'QVQ',
    '神头': 'SEV',
    '神州': 'SRQ',
    '神木': 'HMY',
    '神木南': 'OMY',
    '神树': 'SWB',
    '神池': 'SMV',
    '祥云': 'XQM',
    '祥云西': 'EXM',
    '禄丰南': 'LQM',
    '福利区': 'FLJ',
    '福利屯': 'FTB',
    '福安': 'FAS',
    '福山口': 'FKP',
    '福山镇': 'FZQ',
    '福州': 'FZS',
    '福州南': 'FYS',
    '福泉': 'VMW',
    '福海': 'FHR',
    '福清': 'FQS',
    '福田': 'NZQ',
    '福鼎': 'FES',
    '禹城': 'YCK',
    '禹城东': 'YSK',
    '离堆公园': 'INW',
    '秀山': 'ETW',
    '秦安': 'QGJ',
    '秦家': 'QJB',
    '秦家庄': 'QZV',
    '秦岭': 'QLY',
    '秦皇岛': 'QTP',
    '秧草地': 'YKM',
    '稷山': 'JVV',
    '穆棱': 'MLB',
    '窑上': 'ASP',
    '立志': 'LZX',
    '章丘': 'ZTK',
    '章丘北': 'ZVK',
    '章党': 'ZHT',
    '章古台': 'ZGD',
    '端州': 'WZQ',
    '竹园坝': 'ZAW',
    '笔架山': 'BSB',
    '简阳': 'JYW',
    '简阳南': 'JOW',
    '米易': 'MMW',
    '米沙子': 'MST',
    '米脂': 'MEY',
    '精河': 'JHR',
    '精河南': 'JIR',
    '索伦': 'SNT',
    '索图罕': 'SHX',
    '紫荆关': 'ZYP',
    '*': 'ZVY',
    '綦江': 'QJW',
    '綦江东': 'QDE',
    '繁峙': 'FSV',
    '繁昌西': 'PUH',
    '红光镇': 'IGW',
    '红兴隆': 'VHB',
    '红安': 'HWN',
    '红安西': 'VXN',
    '红寺堡': 'HSJ',
    '红山': 'VSB',
    '红岘台': 'HTJ',
    '红彦': 'VIX',
    '红星': 'VXB',
    '红果': 'HEM',
    '红江': 'HFM',
    '红砂岘': 'VSJ',
    '红花沟': 'VHD',
    '纪家沟': 'VJD',
    '纳雍': 'NYE',
    '纸坊东': 'ZMN',
    '绅坊': 'OLH',
    '织金': 'IZW',
    '织金北': 'ZJE',
    '绍兴': 'SOH',
    '绍兴东': 'SSH',
    '绍兴北': 'SLH',
    '经棚': 'JPC',
    '绕阳河': 'RHD',
    '统军庄': 'TZP',
    '绥中': 'SZD',
    '绥中北': 'SND',
    '绥化': 'SHB',
    '绥德': 'ODY',
    '绥棱': 'SIB',
    '绥芬河': 'SFB',
    '绥阳': 'SYB',
    '绩溪北': 'NRH',
    '绩溪县': 'JRH',
    '绵阳': 'MYW',
    '绿化': 'LWJ',
    '绿博园': 'LCF',
    '缙云': 'JYH',
    '缙云西': 'PYH',
    '罗城': 'VCZ',
    '罗山': 'LRN',
    '罗平': 'LPM',
    '罗江': 'LJW',
    '罗江东': 'IKW',
    '罗源': 'LVS',
    '羊堡': 'ABM',
    '羊尾哨': 'YWM',
    '羊者窝': 'AEM',
    '羊臼河': 'YHM',
    '羊草': 'YAB',
    '羊马': 'YME',
    '美兰': 'MHQ',
    '美溪': 'MEB',
    '老城镇': 'ACQ',
    '老府': 'UFD',
    '老莱': 'LAX',
    '老营': 'LXL',
    '老边': 'LLT',
    '耒阳': 'LYQ',
    '耒阳西': 'LPQ',
    '聊城': 'UCK',
    '肃宁': 'SYP',
    '肇东': 'ZDB',
    '肇庆': 'ZVQ',
    '肇庆东': 'FCQ',
    '肥东': 'FIH',
    '背荫河': 'BYB',
    '胜利镇': 'OLB',
    '胜芳': 'SUP',
    '胶州': 'JXK',
    '胶州北': 'JZK',
    '能家': 'NJD',
    '自贡': 'ZGW',
    '舍力虎': 'VLD',
    '舒兰': 'SLL',
    '舒城': 'OCH',
    '良各庄': 'LGP',
    '艾家村': 'AJJ',
    '艾河': 'AHP',
    '芙蓉南': 'KCQ',
    '芜湖': 'WHH',
    '芦台': 'LTP',
    '芦沟': 'LOM',
    '芦溪': 'LUG',
    '芦潮港': 'UCH',
    '芨岭': 'JLJ',
    '花博山': 'KBT',
    '花园': 'HUN',
    '花园口': 'HYT',
    '花家庄': 'HJM',
    '花山南': 'KNN',
    '花桥': 'VQH',
    '花棚子': 'HZM',
    '花湖': 'KHN',
    '芷江': 'ZPQ',
    '苇子沟': 'WZL',
    '苇河': 'WHB',
    '苇河西': 'WIB',
    '苍南': 'CEH',
    '苍溪': 'CXE',
    '苍石': 'CST',
    '苏家屯': 'SXT',
    '苏尼特左旗': 'ONC',
    '苏州': 'SZH',
    '苏州北': 'OHH',
    '苏州园区': 'KAH',
    '苏州新区': 'ITH',
    '英吉沙': 'YIR',
    '英德': 'YDQ',
    '英德西': 'IIQ',
    '茂名': 'MDQ',
    '茂名西': 'MMZ',
    '茂林': 'MLD',
    '茂舍祖': 'MOM',
    '范各庄': 'FGP',
    '范家屯': 'FTT',
    '范镇': 'VZK',
    '茅岭': 'MLZ',
    '茅草坪': 'KPM',
    '茶卡': 'CVO',
    '茶陵': 'CDG',
    '茶陵南': 'CNG',
    '荆州': 'JBN',
    '荆门': 'JMN',
    '草市': 'CSL',
    '草河口': 'CKT',
    '草海': 'WBW',
    '荣成': 'RCK',
    '荣昌': 'RCW',
    '荣昌北': 'RQW',
    '荷塘': 'KXQ',
    '莆田': 'PTS',
    '莎车': 'SCR',
    '莒南': 'JOK',
    '莒县': 'JKK',
    '莫尔道嘎': 'MRX',
    '莱芜东': 'LWK',
    '莱芜西': 'UXK',
    '莱西': 'LXK',
    '莱西北': 'LBK',
    '莱阳': 'LYK',
    '莲江口': 'LHB',
    '获嘉': 'HJF',
    '菇园': 'GYL',
    '菏泽': 'HIK',
    '萍乡': 'PXG',
    '萍乡北': 'PBG',
    '营口': 'YKT',
    '营口东': 'YGT',
    '营城子': 'YCT',
    '营山': 'NUW',
    '营盘水': 'YZJ',
    '营街': 'YAM',
    '萧县北': 'QSH',
    '萨拉齐': 'SLC',
    '落坡岭': 'LPP',
    '落垡': 'LOP',
    '葛店南': 'GNN',
    '葛根庙': 'GGT',
    '葡萄菁': 'PTW',
    '董家口': 'DTK',
    '葫芦岛': 'HLD',
    '葫芦岛北': 'HPD',
    '葵潭': 'KTQ',
    '蒙自': 'MZM',
    '蒙自北': 'MBM',
    '蒲城': 'PCY',
    '蒲城东': 'PEY',
    '蒲江': 'PJE',
    '蓝村': 'LCK',
    '蓟州': 'JIP',
    '蓟州北': 'JKP',
    '蓬安': 'PAW',
    '蓬溪': 'KZW',
    '蓬莱市': 'POK',
    '蔡家坡': 'CJY',
    '蔡家崖': 'EBV',
    '蔡家沟': 'CJT',
    '蔡山': 'CON',
    '蔺家楼': 'ULK',
    '蕲春': 'QRN',
    '藁城': 'GEP',
    '藁城南': 'GUP',
    '藤县': 'TAZ',
    '虎什哈': 'HHP',
    '虎林': 'VLB',
    '虎石台': 'HUT',
    '虎门': 'IUQ',
    '虞城县': 'IXH',
    '虢镇': 'GZY',
    '蚌埠': 'BBH',
    '蚌埠南': 'BMH',
    '蛟河': 'JHL',
    '蛟河西': 'JOL',
    '蜀河': 'SHY',
    '融安': 'RAZ',
    '融水': 'RSZ',
    '衡南': 'HNG',
    '衡山': 'HSQ',
    '衡山西': 'HEQ',
    '衡水': 'HSP',
    '衡水北': 'IHP',
    '衡阳': 'HYQ',
    '衡阳东': 'HVQ',
    '衢州': 'QEH',
    '裴德': 'PDB',
    '褚家湾': 'CWJ',
    '襄垣': 'EIF',
    '襄汾': 'XFV',
    '襄汾西': 'XTV',
    '襄河': 'XXB',
    '襄阳': 'XFN',
    '襄阳东': 'XWN',
    '西丰': 'XFT',
    '西乌旗': 'XWC',
    '西乡': 'XQY',
    '西八里': 'XLP',
    '西哲里木': 'XRD',
    '西固': 'XIJ',
    '西固城': 'XUJ',
    '西大庙': 'XMP',
    '西宁': 'XNO',
    '西安': 'XAY',
    '西安北': 'EAY',
    '西安南': 'CAY',
    '西小召': 'XZC',
    '西岗子': 'NBB',
    '西峡': 'XIF',
    '西平': 'XPN',
    '西平西': 'EGQ',
    '西昌': 'ECW',
    '西昌南': 'ENW',
    '西来': 'XLE',
    '西林': 'XYB',
    '西柳': 'GCT',
    '西渡': 'XDA',
    '西湖东': 'WDQ',
    '西街口': 'EKM',
    '西阳村': 'XQF',
    '西麻山': 'XMB',
    '观沙岭': 'FKQ',
    '角美': 'JES',
    '讷河': 'NHX',
    '许三湾': 'XSJ',
    '许家台': 'XTJ',
    '许家屯': 'XJT',
    '许昌': 'XCF',
    '许昌东': 'XVF',
    '诏安': 'ZDS',
    '诸城': 'ZQK',
    '诸暨': 'ZDH',
    '读书铺': 'DPM',
    '谢家镇': 'XMT',
    '谭家井': 'TNJ',
    '谷城': 'GCN',
    '谷山': 'FFQ',
    '豆庄': 'ROP',
    '豆张庄': 'RZP',
    '豆罗': 'DLV',
    '贲红': 'BVC',
    '贵安': 'GAE',
    '贵定': 'GTW',
    '贵定北': 'FMW',
    '贵定南': 'IDW',
    '贵定县': 'KIW',
    '贵港': 'GGZ',
    '贵溪': 'GXG',
    '贵阳': 'GIW',
    '贵阳东': 'KEW',
    '贵阳北': 'KQW',
    '费县': 'FXK',
    '贺家店': 'HJJ',
    '贺州': 'HXZ',
    '贺胜桥东': 'HLN',
    '贾鲁河': 'JLF',
    '资中': 'ZZW',
    '资中北': 'WZW',
    '资溪': 'ZXS',
    '资阳': 'ZYW',
    '资阳北': 'FYW',
    '赛汗塔拉': 'SHC',
    '赣州': 'GZG',
    '赣榆': 'GYU',
    '赤壁': 'CBN',
    '赤壁北': 'CIN',
    '赤峰': 'CFD',
    '赤峰西': 'CID',
    '赵光': 'ZGB',
    '赵城': 'ZCV',
    '赶水': 'GSW',
    '赶水东': 'GDE',
    '超梁沟': 'CYP',
    '越西': 'YHW',
    '路口铺': 'LKQ',
    '车转湾': 'CWM',
    '轩岗': 'XGV',
    '轮台': 'LAR',
    '辛集': 'ENP',
    '辛集南': 'IJP',
    '辰清': 'CQB',
    '辰溪': 'CXQ',
    '辽中': 'LZD',
    '辽源': 'LYL',
    '辽阳': 'LYT',
    '达坂城': 'DCR',
    '达家沟': 'DJT',
    '达州': 'RXW',
    '达拉特旗': 'DIC',
    '达拉特西': 'DNC',
    '达连河': 'DCB',
    '迁安': 'QQP',
    '迎宾路': 'YFW',
    '迎春': 'YYB',
    '运城': 'YNV',
    '运城北': 'ABV',
    '运粮河': 'YEF',
    '近海': 'JHD',
    '进贤': 'JUG',
    '进贤南': 'JXG',
    '连云港': 'UIH',
    '连云港东': 'UKH',
    '连山关': 'LGT',
    '连江': 'LKS',
    '迤资': 'YQM',
    '通化': 'THL',
    '通化县': 'TXL',
    '通北': 'TBB',
    '通安驿': 'TAJ',
    '通州': 'TOP',
    '通州西': 'TAP',
    '通榆': 'KTT',
    '通沟': 'TOL',
    '通海': 'TAM',
    '通渭': 'TWJ',
    '通辽': 'TLD',
    '通远堡': 'TYT',
    '通远堡西': 'TST',
    '通途': 'TUT',
    '通道': 'TRQ',
    '遂宁': 'NIW',
    '遂平': 'SON',
    '遂溪': 'SXZ',
    '道州': 'DFZ',
    '道清': 'DML',
    '道滘': 'RRQ',
    '遵义': 'ZYE',
    '遵义南': 'ZNE',
    '遵义西': 'ZIW',
    '邓州': 'DOF',
    '邛崃': 'QLE',
    '邢台': 'XTP',
    '邢台东': 'EDP',
    '那曲': 'NQO',
    '那罗': 'ULZ',
    '那铺': 'NPZ',
    '邯郸': 'HDP',
    '邯郸东': 'HPP',
    '邳州': 'PJH',
    '邵东': 'FIQ',
    '邵家堂': 'SJJ',
    '邵武': 'SWS',
    '邵阳': 'SYQ',
    '邵阳北': 'OVQ',
    '邵阳西': 'SXA',
    '邹城': 'ZIK',
    '邹平': 'ZLK',
    '郁南': 'YKQ',
    '郑州': 'ZZF',
    '郑州东': 'ZAF',
    '郑州西': 'XPF',
    '郓城': 'YPK',
    '郫县': 'PWW',
    '郫县西': 'PCW',
    '郭家店': 'GDT',
    '郭磊庄': 'GLP',
    '郯城': 'TZK',
    '郴州': 'CZQ',
    '郴州西': 'ICQ',
    '都匀': 'RYW',
    '都匀东': 'KJW',
    '都昌': 'DCG',
    '都格': 'DMM',
    '都江堰': 'DDW',
    '鄂尔多斯': 'EEC',
    '鄂州': 'ECN',
    '鄂州东': 'EFN',
    '鄄城': 'JCK',
    '鄠邑': 'KXY',
    '鄯善': 'SSR',
    '鄯善北': 'SMR',
    '鄱阳': 'PYG',
    '酉阳': 'AFW',
    '酒泉': 'JQJ',
    '酒泉南': 'JNJ',
    '醴陵': 'LLG',
    '醴陵东': 'UKQ',
    '里木店': 'LMB',
    '重庆': 'CQW',
    '重庆北': 'CUW',
    '重庆南': 'CRW',
    '重庆西': 'CXW',
    '野三坡': 'AIP',
    '金华': 'JBH',
    '金华南': 'RNH',
    '金坑': 'JKT',
    '金城江': 'JJZ',
    '金宝屯': 'JBD',
    '金寨': 'JZH',
    '金山北': 'EGH',
    '金山屯': 'JTB',
    '金州': 'JZT',
    '金昌': 'JCJ',
    '金月湾': 'PYQ',
    '金杖子': 'JYD',
    '金沟屯': 'VGP',
    '金河': 'JHX',
    '金银潭': 'JTN',
    '金马村': 'JMM',
    '钟家村': 'ZJY',
    '钟山': 'ZSZ',
    '钟山西': 'ZAZ',
    '钟祥': 'ZTN',
    '钦州': 'QRZ',
    '钦州东': 'QDZ',
    '铁刹山': 'PST',
    '铁力': 'TLB',
    '铁厂': 'TCL',
    '铁岭': 'TLT',
    '铁岭西': 'PXT',
    '铜仁': 'RDQ',
    '铜仁南': 'TNW',
    '铜陵': 'TJH',
    '铜陵北': 'KXH',
    '银川': 'YIJ',
    '银浪': 'YJX',
    '银滩': 'CTQ',
    '银瓶': 'KPQ',
    '锡林浩特': 'XTC',
    '锦州': 'JZD',
    '锦州南': 'JOD',
    '锦河': 'JHB',
    '锦界': 'JEY',
    '镇城底': 'ZDV',
    '镇安': 'ZEY',
    '镇平': 'ZPF',
    '镇江': 'ZJH',
    '镇江南': 'ZEH',
    '镇西': 'ZVT',
    '镇赉': 'ZLT',
    '镇远': 'ZUW',
    '镜铁山': 'JVJ',
    '长临河': 'FVH',
    '长兴': 'CBH',
    '长兴南': 'CFH',
    '长农': 'CNJ',
    '长冲': 'CCM',
    '长坡岭': 'CPM',
    '长垣': 'CYF',
    '长城': 'CEJ',
    '长寿': 'EFW',
    '长寿北': 'COW',
    '长寿湖': 'CSE',
    '长山屯': 'CVT',
    '长岭子': 'CLT',
    '长庆桥': 'CQJ',
    '长征': 'CZJ',
    '长春': 'CCT',
    '长春南': 'CET',
    '长春西': 'CRT',
    '长武': 'CWY',
    '长汀': 'CES',
    '长汀南': 'CNS',
    '长汀镇': 'CDB',
    '长沙': 'CSQ',
    '长沙南': 'CWQ',
    '长沙西': 'RXQ',
    '长治': 'CZF',
    '长治北': 'CBF',
    '长甸': 'CDT',
    '长葛': 'CEF',
    '长阳': 'CYN',
    '门': 'EMS',
    '门源': 'MYO',
    '闵集': 'MJN',
    '闻喜': 'WXV',
    '闻喜西': 'WOV',
    '闽清': 'MQS',
    '闽清北': 'MBS',
    '阆中': 'LZE',
    '阎良': 'YNY',
    '阜南': 'FNH',
    '阜宁': 'AKH',
    '阜宁东': 'FDU',
    '阜新': 'FOT',
    '阜新南': 'FXD',
    '阜阳': 'FYH',
    '防城港北': 'FBZ',
    '阳东': 'WLQ',
    '阳信': 'YVK',
    '阳城': 'YNF',
    '阳岔': 'YAL',
    '阳平关': 'YAY',
    '阳新': 'YON',
    '阳明堡': 'YVV',
    '阳春': 'YQQ',
    '阳曲': 'YQV',
    '阳曲西': 'IQV',
    '阳朔': 'YCZ',
    '阳江': 'WRQ',
    '阳泉': 'AQP',
    '阳泉北': 'YPP',
    '阳泉曲': 'YYV',
    '阳澄湖': 'AIH',
    '阳西': 'WMQ',
    '阳谷': 'YIK',
    '阳邑': 'ARP',
    '阳高': 'YOV',
    '阿克苏': 'ASR',
    '阿克陶': 'AER',
    '阿勒泰': 'AUR',
    '阿南庄': 'AZM',
    '阿图什': 'ATR',
    '阿城': 'ACB',
    '阿城北': 'ABB',
    '阿尔山': 'ART',
    '阿尔山北': 'ARX',
    '阿巴嘎旗': 'AQC',
    '阿房宫': 'EGY',
    '阿拉山口': 'AKR',
    '阿木尔': 'JTX',
    '阿里河': 'AHX',
    '阿金': 'AJD',
    '阿龙山': 'ASX',
    '陆丰': 'LLQ',
    '陆川': 'LKZ',
    '陆良': 'LRM',
    '陇南': 'INJ',
    '陇县': 'LXY',
    '陇西': 'LXJ',
    '陈官营': 'CAJ',
    '陈相屯': 'CXT',
    '陵城': 'LGK',
    '陵水': 'LIQ',
    '陶家屯': 'TOT',
    '陶赖昭': 'TPT',
    '隆化': 'UHP',
    '隆回': 'LHA',
    '隆安东': 'IDZ',
    '隆昌': 'LCW',
    '隆昌北': 'NWW',
    '随州': 'SZN',
    '雁石南': 'YMS',
    '雁翅': 'YAP',
    '雁荡山': 'YGH',
    '雅安': 'YAE',
    '集宁南': 'JAC',
    '集安': 'JAL',
    '雨格': 'VTM',
    '零陵': 'UWZ',
    '雷州': 'UAQ',
    '霍城': 'SER',
    '霍尔果斯': 'HFR',
    '霍州': 'HZV',
    '霍州东': 'HWV',
    '霍林郭勒': 'HWD',
    '霍邱': 'FBH',
    '霞浦': 'XOS',
    '露水河': 'LUL',
    '霸州': 'RMP',
    '霸州西': 'FOP',
    '青县': 'QXP',
    '青城山': 'QSW',
    '青堆': 'QET',
    '青山': 'QSB',
    '青岛': 'QDK',
    '青岛北': 'QHK',
    '青岛西': 'QUK',
    '青川': 'QCE',
    '青州市': 'QZK',
    '青州市北': 'QOK',
    '青田': 'QVH',
    '青白江东': 'QFW',
    '青神': 'QVW',
    '青莲': 'QEW',
    '青铜峡': 'QTJ',
    '青龙': 'QIB',
    '青龙山': 'QGH',
    '靖宇': 'JYL',
    '靖州': 'JEQ',
    '靖西': 'JMZ',
    '靖边': 'JIY',
    '靖远': 'JYJ',
    '靖远西': 'JXJ',
    '静海': 'JHP',
    '革居': 'GEM',
    '鞍山': 'AST',
    '鞍山西': 'AXT',
    '韦庄': 'WZY',
    '韩城': 'HCY',
    '韩府湾': 'HXJ',
    '韩麻营': 'HYP',
    '韶关': 'SNQ',
    '韶关东': 'SGQ',
    '韶山': 'SSQ',
    '韶山南': 'INQ',
    '项城': 'ERN',
    '顺义': 'SOP',
    '顺德': 'ORQ',
    '顺德学院': 'OJQ',
    '顺昌': 'SCS',
    '颍上': 'YVH',
    '额济纳': 'EJC',
    '风陵渡': 'FLV',
    '饶平': 'RVQ',
    '饶阳': 'RVP',
    '首山': 'SAT',
    '香兰': 'XNB',
    '香坊': 'XFB',
    '香樟路': 'FNQ',
    '香港西九龙': 'XJA',
    '马三家': 'MJT',
    '马兰': 'MLR',
    '马林': 'MID',
    '马桥河': 'MQB',
    '马皇': 'MHZ',
    '马莲河': 'MHB',
    '马踏': 'PWQ',
    '马鞍山': 'MAH',
    '马鞍山东': 'OMH',
    '马龙': 'MGM',
    '驻马店': 'ZDN',
    '驻马店西': 'ZLN',
    '驼腰岭': 'TIL',
    '骆驼巷': 'LTJ',
    '高台': 'GTJ',
    '高台南': 'GAJ',
    '高各庄': 'GGP',
    '高安': 'GCG',
    '高密': 'GMK',
    '高密北': 'GVK',
    '高山子': 'GSD',
    '高州': 'GSQ',
    '高平': 'GPF',
    '高村': 'GCV',
    '高桥镇': 'GZD',
    '高楞': 'GLB',
    '高楼房': 'GFM',
    '高滩': 'GAY',
    '高碑店': 'GBP',
    '高碑店东': 'GMP',
    '高花': 'HGD',
    '高邑': 'GIP',
    '高邑西': 'GNP',
    '魏善庄': 'WSP',
    '魏杖子': 'WKD',
    '鲁山': 'LAF',
    '鲁番': 'LVM',
    '鲅鱼圈': 'BYT',
    '鲘门': 'KMQ',
    '鳌江': 'ARH',
    '鸡东': 'JOB',
    '鸡冠山': 'JST',
    '鸡西': 'JXB',
    '鸭园': 'YYL',
    '鸳鸯镇': 'YYJ',
    '鹤北': 'HMB',
    '鹤壁': 'HAF',
    '鹤壁东': 'HFF',
    '鹤岗': 'HGB',
    '鹤庆': 'HQM',
    '鹤立': 'HOB',
    '鹰手营子': 'YIP',
    '鹰潭': 'YTG',
    '鹰潭北': 'YKG',
    '鹿寨': 'LIZ',
    '鹿寨北': 'LSZ',
    '鹿道': 'LDL',
    '麓谷': 'BNQ',
    '麦园': 'MYS',
    '麻城': 'MCN',
    '麻城北': 'MBN',
    '麻尾': 'VAW',
    '麻山': 'MAB',
    '麻阳': 'MVQ',
    '黄冈': 'KGN',
    '黄冈东': 'KAN',
    '黄冈西': 'KXN',
    '黄口': 'KOH',
    '黄土店': 'HKP',
    '黄山': 'HKH',
    '黄山北': 'NYH',
    '黄州': 'VON',
    '黄村': 'HCP',
    '黄松甸': 'HDL',
    '黄柏': 'HBL',
    '黄梅': 'VEH',
    '黄河景区': 'HCF',
    '黄泥河': 'HHL',
    '黄流': 'KLQ',
    '黄瓜园': 'HYM',
    '黄石': 'HSN',
    '黄石东': 'OSN',
    '黄石北': 'KSN',
    '黄羊滩': 'HGJ',
    '黄羊镇': 'HYJ',
    '黄花筒': 'HUD',
    '黄陵': 'ULY',
    '黄陵南': 'VLY',
    '黎城': 'UCP',
    '黎塘': 'LTZ',
    '黑井': 'HIM',
    '黑冲滩': 'HCJ',
    '黑台': 'HQB',
    '黑山北': 'HQT',
    '黑山寺': 'HVP',
    '黑旺': 'HWK',
    '黑水': 'HOT',
    '黑河': 'HJB',
    '黔江': 'QNW',
    '鼎湖东': 'UWQ',
    '鼎湖山': 'NVQ',
    '齐河': 'QIK',
    '齐齐哈尔': 'QHX',
    '齐齐哈尔南': 'QNB',
    '龙丰': 'KFQ',
    '龙井': 'LJL',
    '龙华': 'LHP',
    '龙南': 'UNG',
    '龙口市': 'UKK',
    '龙嘉': 'UJL',
    '龙塘坝': 'LBM',
    '龙山镇': 'LAS',
    '龙岩': 'LYS',
    '龙川': 'LUQ',
    '龙市': 'LAG',
    '龙桥': 'LQU',
    '龙江': 'LJX',
    '龙沟': 'LGJ',
    '龙泉寺': 'UQJ',
    '龙洞堡': 'FVW',
    '龙游': 'LMH',
    '龙爪沟': 'LZT',
    '龙里': 'LLW',
    '龙里北': 'KFW',
    '龙镇': 'LZA',
    '龙骨甸': 'LGM'}

 具体的tickets.py的代码如下:

# -*- coding:utf-8 -*-

"""命令行火车票查看器

Usage:
    tickets [-gdtkz] <from> <to> <date>

Options:
    -h,--help   显示帮助菜单
    -g          高铁
    -d          动车
    -t          特快
    -k          快速
    -z          直达

Example:
    tickets 太原 北京 2019-06-12
    tickets -dg 天津 南昌 2019-06-10
"""

from docopt import docopt
from stations import stations
import requests
from prettytable import PrettyTable
from colorama import init, Fore
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

init()


def cli():
    arguments = docopt(__doc__)
    from_station = stations.get(arguments['<from>'])
    to_staion = stations.get(arguments['<to>'])
    date = arguments['<date>']
    print("from_station:" + from_station)
    print("to_staion:" + to_staion)
    print("date:" + date)

    url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date={}&leftTicketDTO.from_station={}&leftTicketDTO.to_station={}&purpose_codes=ADULT'.format(
        date, from_station, to_staion)
    print("url:" + url)

    # 添加verify=False参数不验证证书
    response = requests.get(url, verify=False)
    print(str(response.status_code))
    print(response.json())
    print(response.json()['data']['result'])

    print(arguments.items())
    # dict_items([('-g', True), ('-d', True), ('-t', False), ('-k', False), ('-z', False), ('<from>', '合肥'), ('<to>', '巢湖'), ('<date>', '2019-05-25')])

    print(type(arguments.items()))
    # <class 'dict_items'>

    print([key for key, value in arguments.items() if value is True])
    # ['-g', '-d']

    print(type([key for key, value in arguments.items() if value is True]))
    # <class 'list'>

    options = ''.join([key for key, value in arguments.items() if value is True])
    print("===options:" + options)
    print(type(''.join([key for key, value in arguments.items() if value is True])))
    # ===options:-g-d
    # <class 'str'>

    TransCollection(response.json()['data']['result'], options, response.json()['data']['map']).pretty_print()


class TransCollection:
    print("111")
    header = '车次 车站 时间 历时 一等座 二等座 软卧 硬卧 硬座 无座'.split()

    def __init__(self, available_trains, options, mapmap):
        self.availavle_trains = available_trains
        self.options = options
        self.mapmap = mapmap

    def _get_duration(self, train_data):
        duration = train_data[10].replace(':', '小时') + '分'
        if duration.startswith('00'):
            return duration[4:]
        if duration.startswith('0'):
            return duration[1:]
        return duration

    @property
    def trains(self):
        for train in self.availavle_trains:
            train_data = str(train).split(sep='|')
            train_number = train_data[3][0:1].lower()  # 开头转换成小写

            if train_number in self.options:
                print("==========train_number:" + train_number)
                startStation = train_data[6]
                endStation = train_data[7]

                startStation_CN = self.mapmap.get(startStation)
                endStation_CN = self.mapmap.get(endStation)

                print("==========startStation:" + startStation + ",startStation_CN:" + startStation_CN)
                print("==========endStation:" + endStation + ",endStation_CN:" + endStation_CN)

                train = [
                    train_data[3],  # 车次
                    '\n'.join([Fore.GREEN + startStation_CN + Fore.RESET,  # 车站
                               Fore.RED + endStation_CN + Fore.RESET]),
                    '\n'.join([Fore.GREEN + train_data[8] + Fore.RESET,  # 车站
                               Fore.RED + train_data[9] + Fore.RESET]),
                    self._get_duration(train_data),  # 历时
                    train_data[31],  # 一等座
                    train_data[30],  # 二等座
                    train_data[23],  # 软卧
                    train_data[28],  # 硬卧
                    train_data[29],  # 硬座
                    train_data[26],  # 无座
                ]
                yield train

    def pretty_print(self):
        pt = PrettyTable()
        pt._set_field_names(self.header)
        for train in self.trains:
            pt.add_row(train)
        print(pt)


if __name__ == '__main__':
    cli()

查询太原-北京2019-06-03如下:

 python实现火车票查询python实现火车票查询