提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
python实现自动登录12306抢票 -- selenium
- 前言
- 一、遇到的问题?
- 1.url-正确的表头:就是首先url不要写错了,然后一定要加正确的表头,才可以拿到数据,就是我日期填写错误,然后生成的url就有问题,浪费了好多时间。日期:2024-01-09 ,不要加两个杠。。。
- 2.:注意用网页显示的user-agent:
- 3.拿到车票信息的json数据--代码展示
- 4. 12306的城市对应的代码json文件,大家可以去网上找下,然后自己编程写一下,我这个也花了一些时间锻炼自己
- 4.对拿到的车次json数据进行可视化处理,也生成一个列表信息,代码如下
- 5.程序进入到自动化代码 -- 自动登录 --自动抢票,这里要注意有些操作一定要有时间等待,time.sleep(2)等,是不可以删除的否则会报错,因为操作太快,浏览器没有反应过来。
- 至此,这个程序完全结束了。这也是最近春节要抢票我特意写的。主要都是学习别人的代码,但是有几个改进是自己学了爬虫,然后结合网页的变化(很多程序是2021,2022的,现在12306的网页有所改变),所写的。
- 二、改进
- 三、进阶--展望
- 总结
- 附录city_all.json (涵盖12306目前所有的火车站和高铁站 -- 2025年1月的最新数据)
前言
其实网上也出现了很多12306的代码,但是都不是最新的,我也是从网上找别人的帖子,看B站视频,然后写成了这个程序,想分享一下。其中我会说自己遇到的问题以及自己的一个改进。
提示:以下是本篇文章正文内容,下面案例可供参考
一、遇到的问题?
1.url-正确的表头:就是首先url不要写错了,然后一定要加正确的表头,才可以拿到数据,就是我日期填写错误,然后生成的url就有问题,浪费了好多时间。日期:2024-01-09 ,不要加两个杠。。。
2.:注意用网页显示的user-agent:
3.拿到车票信息的json数据–代码展示
import requests
from prettytable import PrettyTable
# 下面的模块就是打开浏览器的操作模块
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 获取浏览器的用户数据
# chrome ==> chrome://version/
# 个人资料路径 C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739\Default
# 路径的Default要去掉
path = r'D:\game\chromedriver.exe'
user_data_dir = r'C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739'
from pypinyin import pinyin, Style
import json
import time
"""
发送请求:模拟浏览器对于url地址发送请求
"""
"""根据用户自行输入相关信息,进行查票搜索"""
# 读取城市文件
f = open('city_all.json', encoding='utf-8').read()
city_data = json.loads(f)
print(city_data)
# 输入出发和目的城市
# 输入时间
train_date = '2025-01-09'
from_city = input('请输出你出发的城市:')
to_city = input('请输出你要出行的城市:')
print(city_data[from_city])
print(city_data[to_city])
headers = {
'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36',
}
# 请求网址
# https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date=2025-01-06&leftTicketDTO.from_station=SZQ&leftTicketDTO.to_station=EFG&purpose_codes=ADULT
url = f'https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date={train_date}&leftTicketDTO.from_station={city_data[from_city]}&leftTicketDTO.to_station={city_data[to_city]}&purpose_codes=ADULT'
# 发送请求 使用request
response = requests.get(url=url, headers=headers)
print(url)
print(response.status_code)
print(response.text)
# 获取数据
json_data = response.json()
4. 12306的城市对应的代码json文件,大家可以去网上找下,然后自己编程写一下,我这个也花了一些时间锻炼自己
4.对拿到的车次json数据进行可视化处理,也生成一个列表信息,代码如下
import requests
from prettytable import PrettyTable
# 下面的模块就是打开浏览器的操作模块
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 获取浏览器的用户数据
# chrome ==> chrome://version/
# 个人资料路径 C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739\Default
# 路径的Default要去掉
path = r'D:\game\chromedriver.exe'
user_data_dir = r'C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739'
from pypinyin import pinyin, Style
import json
import time
"""
发送请求:模拟浏览器对于url地址发送请求
"""
"""根据用户自行输入相关信息,进行查票搜索"""
# 读取城市文件
f = open('city_all.json', encoding='utf-8').read()
city_data = json.loads(f)
print(city_data)
# 输入出发和目的城市
# 输入时间
train_date = '2025-01-09'
from_city = '深圳'
to_city = '广州'
print(city_data[from_city])
print(city_data[to_city])
headers = {
'cookie':f'_uab_collina=173526990403562156621352; JSESSIONID=1B8F19FC6675BDA9782FEA7B06BDC256; route=9036359bb8a8a461c164a04f8f50b252; BIGipServerotn=1725497610.24610.0000; BIGipServerpassport=1005060362.50215.0000; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; _jc_save_fromStation=%u6DF1%u5733%2CSZQ; _jc_save_toStation=%u4FE1%u4E30%2CEFG; _jc_save_fromDate={train_date}; _jc_save_wfdc_flag=dc; _jc_save_toDate=2024-12-28',
'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36',
}
# 请求网址
# https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date=2025-01-06&leftTicketDTO.from_station=SZQ&leftTicketDTO.to_station=EFG&purpose_codes=ADULT
url = f'https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date={train_date}&leftTicketDTO.from_station={city_data[from_city]}&leftTicketDTO.to_station={city_data[to_city]}&purpose_codes=ADULT'
# 发送请求 使用request
response = requests.get(url=url, headers=headers)
print(url)
print(response.status_code)
print(response.text)
# 获取数据
json_data = response.json()
# 解析数据--字典取值:
result = json_data['data']['result']
# 实例化对象
tb = PrettyTable()
tb.field_names = [
'序号',
'车次',
'出发时间',
'到达时间',
'耗时',
'特等座',
'一等座',
'二等座',
'软卧',
'硬卧',
'硬座',
'无座',
]
# 定义一个打印序号page
page = 1
# for循环遍历,提取列表里面的元素
for i in result:
# 字符串分割,返回列表
index = i.split('|')
# 通过列表索引位置取值
num = index[3] # 车次
star_time = index[8] # 出发时间
arrive_time = index[9] # 到达时间
use_time = index[10] # 耗时
special_class = index[32] # 特等座
frist_class = index[31] # 一等座
second_class = index[30] # 二等座
hard_sleeper = index[28] # 硬卧
hard_seat = index[29] # 硬座
no_seat = index[26] # 无座
soft_sleeper = index[23]# 软卧
dict = {
'序号':'page',
'车次':'num',
'出发时间':'star_time',
'到达时间':'arrive_time',
'耗时':'use_time',
'特等座':'special_class',
'一等座':'frist_class',
'二等座':'second_class',
'软卧':'soft_sleeper',
'硬卧':'hard_sleeper',
'硬座':'hard_seat',
'无座': 'no_seat'
}
tb.add_row([
page, #序号索引
num, # 车次
star_time,# 出发时间
arrive_time,# 到达时间
use_time, # 耗时
special_class, # 特等座
frist_class, # 一等座
second_class,# 二等座
soft_sleeper, # 软卧
hard_sleeper,# 硬卧
hard_seat, # 硬座
no_seat,# 无座
])
page += 1
print(tb)
5.程序进入到自动化代码 – 自动登录 --自动抢票,这里要注意有些操作一定要有时间等待,time.sleep(2)等,是不可以删除的否则会报错,因为操作太快,浏览器没有反应过来。
def selenium_login():
# 0.配置谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument(f'--user-data-dir={user_data_dir}') # 添加浏览器数剧
# 1.将加载项配置到启动浏览器中 打开/创建浏览器对象
driver = webdriver.Chrome(executable_path=r'D:\game\chromedriver.exe', options=options)
# 2.输入网址
driver.get('https://kyfw.12306.cn/otn/view/index.html')
# 3.输入账号 -- > 找到账号的输入框 selenium 通过元素面板去定位元素
driver.find_element(by="css selector", value="#J-userName").send_keys(login['account'])
# 4.输入密码 -- > 找到密码的输入框
driver.find_element(by="css selector", value="#J-password").send_keys(login['password'])
# 5.点击登录按钮
driver.find_element(by="css selector", value="#J-login").click()
time.sleep(0.5)
# 6.输入身份证后4位
driver.find_element(by="css selector", value="#id_card").send_keys(login['id_card'])
# 7.点击获取验证码
driver.find_element(by="css selector", value="#verification_code").click()
# 8.输入验证码
code = input("请输入验证码:")
driver.find_element(by="css selector", value="#code").send_keys(code)
driver.find_element(by="css selector", value="#verification_code").click()
# 9.点击确认按钮
driver.find_element(by="css selector", value="#sureClick").click()
# 有时候报错是需要延时等待 用 driver.implicitly_wait(10)代码 可以实现加载完就就进行下一步,
# 而time.sleep(5)则必须等我规定的时间
driver.implicitly_wait(5)
# 10,点击车票预定按钮
driver.find_element(by="css selector", value="#link_for_ticket").click()
# 11.1 选择出发的城市--点击那个框
driver.find_element(by="css selector", value="#fromStationText").click()
# 11.2 选择出发的城市--选择城市
driver.find_element(by="css selector", value="#fromStationText").send_keys(from_city)
# 11.3 选择出发的城市--回车确定
driver.find_element(by="css selector", value="#fromStationText").send_keys(Keys.ENTER)
# 12.1 选择目的的城市--点击那个框
driver.find_element(by="css selector", value="#toStationText").click()
# 12.2 选择目的的城市--选择城市
driver.find_element(by="css selector", value="#toStationText").send_keys(to_city)
# 12.3 选择目的的城市--回车确定
driver.find_element(by="css selector", value="#toStationText").send_keys(Keys.ENTER)
# 13.1 选择出发的日期--点击那个框
driver.find_element(by="css selector", value="#train_date").clear()
# 12.2 选择出发的日期--选择城市
driver.find_element(by="css selector", value="#train_date").send_keys(train_date)
# 12.3 选择出发的日期--回车确定
driver.find_element(by="css selector", value="#train_date").send_keys(Keys.ENTER)
# # 12.4 点击--显示全部可预订的车次
# driver.find_element(by="css selector", value="avail_ticket").click()
# 12.5 点击查询
driver.implicitly_wait(5)
driver.find_element(by="css selector", value="#query_ticket").click()
num = int(input('请输入您想要的车次:'))
# 点击预订按钮 -- 选择要预定的是第几躺车 -- 这个代码没有问题
# driver.find_element(by="css selector", value='#ticket_65000G279007_01_03 > td.no-br').click()
# //div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]/@id -- 但是selenium的find_elements不可以用@id找到元素。
ticket_list = driver.find_elements(by="xpath", value='//div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]')
ticket_num = ticket_list[num].get_attribute("id")
ticket_pre = ticket_num + ' > td.no-br'
# 12.6 点击想要车次的预定按钮
driver.find_element(by="css selector", value=f"#{ticket_pre}").click()
# 13.1 勾选想要的乘车人
driver.find_element(by="css selector", value='#normalPassenger_0').click()
# 13.2 提交订单
driver.find_element(by="css selector", value='#submitOrder_id').click()
driver.implicitly_wait(5)
# 13.3 选择靠窗的1F的位置
# driver.find_element(by="css selector", value='#1F').click() --这种行不通,只能下方这种
driver.find_element(by="css selector", value='#erdeng1 > ul:nth-child(4) > li:nth-child(2)').click()
# 13.4 再次确认提交
time.sleep(2)
driver.find_element(by="css selector", value='#qr_submit_id').click()
# driver.find_element(by="css selector", value='#qr_submit_id').click()
# # 14. 网上支付 -- payButton
# driver.find_element(by="css selector", value='#payButton').click()
# # 15. 取消订单 -- cancelButton
# driver.find_element(by="css selector", value='#cancelButton').click()
至此,这个程序完全结束了。这也是最近春节要抢票我特意写的。主要都是学习别人的代码,但是有几个改进是自己学了爬虫,然后结合网页的变化(很多程序是2021,2022的,现在12306的网页有所改变),所写的。
二、改进
1.xpath语法中@id 或者说可以@元素,但是selenium不可以要拆成两部来写。,而且新的selenium语法和前几年的也有所区别。
# 点击预订按钮 -- 选择要预定的是第几躺车 -- 这个代码没有问题
# driver.find_element(by="css selector", value='#ticket_65000G279007_01_03 > td.no-br').click()
# //div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]/@id -- 但是selenium的find_elements不可以用@id找到元素。
ticket_list = driver.find_elements(by="xpath", value='//div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]')
ticket_num = ticket_list[num].get_attribute("id")
ticket_pre = ticket_num + ' > td.no-br'
2.预定按钮的元素定位我没有写死可以自己定义,也就是可以自己选择预定那躺车,比如1,3,4,11等,随便选择。因为这里是用了xpath语法去找到了所有的预订按钮。这个num你也可以放在login.json当中,这样更方面抢票。login.json就是一个字典序列,我是将要填写的东西都放进去。这样不用手动填写。
num = int(input('请输入您想要的车次:'))
# 点击预订按钮 -- 选择要预定的是第几躺车 -- 这个代码没有问题
# driver.find_element(by="css selector", value='#ticket_65000G279007_01_03 > td.no-br').click()
# //div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]/@id -- 但是selenium的find_elements不可以用@id找到元素。
ticket_list = driver.find_elements(by="xpath", value='//div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]')
ticket_num = ticket_list[num].get_attribute("id")
ticket_pre = ticket_num + ' > td.no-br'
login.json的内容展示
3.源代码完整展示
import requests
from prettytable import PrettyTable
# 下面的模块就是打开浏览器的操作模块
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 获取浏览器的用户数据
# chrome ==> chrome://version/
# 个人资料路径 C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739\Default
# 路径的Default要去掉
path = r'D:\game\chromedriver.exe'
user_data_dir = r'C:\Users\hl\AppData\Local\Temp\scoped_dir18416_1206036739'
from pypinyin import pinyin, Style
import json
import time
"""
发送请求:模拟浏览器对于url地址发送请求
"""
"""根据用户自行输入相关信息,进行查票搜索"""
# 读取城市文件
f = open('city_all.json', encoding='utf-8').read()
city_data = json.loads(f)
print(city_data)
# 输入出发和目的城市
# 输入时间
train_date = '2025-01-09'
from_city = '深圳'
to_city = '广州'
print(city_data[from_city])
print(city_data[to_city])
headers = {
'cookie':f'_uab_collina=173526990403562156621352; JSESSIONID=1B8F19FC6675BDA9782FEA7B06BDC256; route=9036359bb8a8a461c164a04f8f50b252; BIGipServerotn=1725497610.24610.0000; BIGipServerpassport=1005060362.50215.0000; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; _jc_save_fromStation=%u6DF1%u5733%2CSZQ; _jc_save_toStation=%u4FE1%u4E30%2CEFG; _jc_save_fromDate={train_date}; _jc_save_wfdc_flag=dc; _jc_save_toDate=2024-12-28',
'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36',
}
# 请求网址
# https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date=2025-01-06&leftTicketDTO.from_station=SZQ&leftTicketDTO.to_station=EFG&purpose_codes=ADULT
url = f'https://kyfw.12306.cn/otn/leftTicket/queryG?leftTicketDTO.train_date={train_date}&leftTicketDTO.from_station={city_data[from_city]}&leftTicketDTO.to_station={city_data[to_city]}&purpose_codes=ADULT'
# 发送请求 使用request
response = requests.get(url=url, headers=headers)
print(url)
print(response.status_code)
print(response.text)
# 获取数据
json_data = response.json()
# 解析数据--字典取值:
result = json_data['data']['result']
def print_ticketlist():
# 实例化对象
tb = PrettyTable()
tb.field_names = [
'序号',
'车次',
'出发时间',
'到达时间',
'耗时',
'特等座',
'一等座',
'二等座',
'软卧',
'硬卧',
'硬座',
'无座',
]
# 定义一个打印序号page
page = 1
# for循环遍历,提取列表里面的元素
for i in result:
# 字符串分割,返回列表
index = i.split('|')
# 通过列表索引位置取值
num = index[3] # 车次
star_time = index[8] # 出发时间
arrive_time = index[9] # 到达时间
use_time = index[10] # 耗时
special_class = index[32] # 特等座
frist_class = index[31] # 一等座
second_class = index[30] # 二等座
hard_sleeper = index[28] # 硬卧
hard_seat = index[29] # 硬座
no_seat = index[26] # 无座
soft_sleeper = index[23]# 软卧
dict = {
'序号':'page',
'车次':'num',
'出发时间':'star_time',
'到达时间':'arrive_time',
'耗时':'use_time',
'特等座':'special_class',
'一等座':'frist_class',
'二等座':'second_class',
'软卧':'soft_sleeper',
'硬卧':'hard_sleeper',
'硬座':'hard_seat',
'无座': 'no_seat'
}
tb.add_row([
page, #序号索引
num, # 车次
star_time,# 出发时间
arrive_time,# 到达时间
use_time, # 耗时
special_class, # 特等座
frist_class, # 一等座
second_class,# 二等座
soft_sleeper, # 软卧
hard_sleeper,# 硬卧
hard_seat, # 硬座
no_seat,# 无座
])
page += 1
print(tb)
# def change_chinese(chinese):
# """把中文自动转换为拼音"""
# text = pinyin(chinese, style=Style.NORMAL)
# string = ''.join(t[0] for t in text)
# return string
def selenium_login():
# 0.配置谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument(f'--user-data-dir={user_data_dir}') # 添加浏览器数剧
# 1.将加载项配置到启动浏览器中 打开/创建浏览器对象
driver = webdriver.Chrome(executable_path=r'D:\game\chromedriver.exe', options=options)
# 2.输入网址
driver.get('https://kyfw.12306.cn/otn/view/index.html')
# 3.输入账号 -- > 找到账号的输入框 selenium 通过元素面板去定位元素
driver.find_element(by="css selector", value="#J-userName").send_keys(login['account'])
# 4.输入密码 -- > 找到密码的输入框
driver.find_element(by="css selector", value="#J-password").send_keys(login['password'])
# 5.点击登录按钮
driver.find_element(by="css selector", value="#J-login").click()
time.sleep(0.5)
# 6.输入身份证后4位
driver.find_element(by="css selector", value="#id_card").send_keys(login['id_card'])
# 7.点击获取验证码
driver.find_element(by="css selector", value="#verification_code").click()
# 8.输入验证码
code = input("请输入验证码:")
driver.find_element(by="css selector", value="#code").send_keys(code)
driver.find_element(by="css selector", value="#verification_code").click()
# 9.点击确认按钮
driver.find_element(by="css selector", value="#sureClick").click()
# 有时候报错是需要延时等待 用 driver.implicitly_wait(10)代码 可以实现加载完就就进行下一步,
# 而time.sleep(5)则必须等我规定的时间
driver.implicitly_wait(5)
# 10,点击车票预定按钮
driver.find_element(by="css selector", value="#link_for_ticket").click()
# 11.1 选择出发的城市--点击那个框
driver.find_element(by="css selector", value="#fromStationText").click()
# 11.2 选择出发的城市--选择城市
driver.find_element(by="css selector", value="#fromStationText").send_keys(from_city)
# 11.3 选择出发的城市--回车确定
driver.find_element(by="css selector", value="#fromStationText").send_keys(Keys.ENTER)
# 12.1 选择目的的城市--点击那个框
driver.find_element(by="css selector", value="#toStationText").click()
# 12.2 选择目的的城市--选择城市
driver.find_element(by="css selector", value="#toStationText").send_keys(to_city)
# 12.3 选择目的的城市--回车确定
driver.find_element(by="css selector", value="#toStationText").send_keys(Keys.ENTER)
# 13.1 选择出发的日期--点击那个框
driver.find_element(by="css selector", value="#train_date").clear()
# 12.2 选择出发的日期--选择城市
driver.find_element(by="css selector", value="#train_date").send_keys(train_date)
# 12.3 选择出发的日期--回车确定
driver.find_element(by="css selector", value="#train_date").send_keys(Keys.ENTER)
# # 12.4 点击--显示全部可预订的车次
# driver.find_element(by="css selector", value="avail_ticket").click()
# 12.5 点击查询
driver.implicitly_wait(5)
driver.find_element(by="css selector", value="#query_ticket").click()
num = int(input('请输入您想要的车次:'))
# 点击预订按钮 -- 选择要预定的是第几躺车 -- 这个代码没有问题
# driver.find_element(by="css selector", value='#ticket_65000G279007_01_03 > td.no-br').click()
# //div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]/@id -- 但是selenium的find_elements不可以用@id找到元素。
ticket_list = driver.find_elements(by="xpath", value='//div//tbody[@id="queryLeftTable"]/tr[contains(@id,"ticket")]')
ticket_num = ticket_list[num].get_attribute("id")
ticket_pre = ticket_num + ' > td.no-br'
# 12.6 点击想要车次的预定按钮
driver.find_element(by="css selector", value=f"#{ticket_pre}").click()
# 13.1 勾选想要的乘车人
driver.find_element(by="css selector", value='#normalPassenger_0').click()
# 13.2 提交订单
driver.find_element(by="css selector", value='#submitOrder_id').click()
driver.implicitly_wait(5)
# 13.3 选择靠窗的1F的位置
# driver.find_element(by="css selector", value='#1F').click() --这种行不通,只能下方这种
driver.find_element(by="css selector", value='#erdeng1 > ul:nth-child(4) > li:nth-child(2)').click()
# 13.4 再次确认提交
time.sleep(2)
driver.find_element(by="css selector", value='#qr_submit_id').click()
# driver.find_element(by="css selector", value='#qr_submit_id').click()
# # 14. 网上支付 -- payButton
# driver.find_element(by="css selector", value='#payButton').click()
# # 15. 取消订单 -- cancelButton
# driver.find_element(by="css selector", value='#cancelButton').click()
f = open('login.json', encoding='utf-8').read()
login = json.loads(f)
if __name__ == "__main__":
print_ticketlist()
selenium_login()
三、进阶–展望
1.首先可以将自动化操作用try–except,这样不会一直报错,更为规范。
2.免登录:因为登录其实要验证码,这样抢票也不方便。于是我就又继续学习了一些,发现了两种方法一是可以保存浏览器的数据,因为selenium每次打开的是一个新的程序,但是我们可以通过设置参数,让他打开是有记忆的,但是没有用。第二种,是cookie,是没有什么问题的,目前已经实现,接下尝试各种方法的cookie看行不行。后续我会发此程序。
3.多线程多进程:主要我已经实现cookie免登录,我想着是否可以打开多个页面,然后多个账号,一起抢他们所需要的票呢。
总结
1.最开始跟着写这个程序只会照着抄,然后根本不懂,后面就是差了一点点成功,也不会找错误。
2.后面学习了一下爬虫,更明白一点语法以及自己也更会如何定位元素了。还有就是request的一个请求,这些代码也更看得懂了
3.想着结合多线程然后实现批量抢票,同时也希望代价的容错率高,也就是说在自动化不用点几下程序就不行了,让它可以有更好的性能。-- 未来学习的一个点。加油!!!
附录city_all.json (涵盖12306目前所有的火车站和高铁站 – 2025年1月的最新数据)
{
"一间堡": "YJT",
"一面坡": "YPB",
"一面坡北": "YXB",
"一面山": "YST",
"七台河": "QTB",
"七台河西": "QXB",
"七甸": "QDM",
"七营": "QYJ",
"七里河": "QLD",
"万乐": "WEB",
"万发屯": "WFB",
"万宁": "WNQ",
"万安县": "WAG",
"万州": "WYW",
"万州北": "WZE",
"万年": "WWG",
"万源": "WYY",
"万荣": "VOM",
"万象": "YTM",
"三井子": "OJT",
"三亚": "SEQ",
"三元区": "SMS",
"三元西": "SRS",
"三关口": "OKJ",
"三十家": "SRD",
"三原": "SAY",
"三合庄": "SVP",
"三堂集": "SDH",
"三家寨": "SMM",
"三家店": "ODP",
"三岔湖": "SCE",
"三明": "SVS",
"三明北": "SHS",
"三星堆": "SDE",
"三水": "SJQ",
"三水北": "ARQ",
"三水南": "RNQ",
"三江南": "SWZ",
"三江县": "SOZ",
"三江口": "SKD",
"三河县": "OXP",
"三源浦": "SYL",
"三灶东": "SAA",
"三穗": "QHW",
"三营": "OEJ",
"三都县": "KKW",
"三门县": "OQH",
"三门峡": "SMF",
"三门峡南": "SCF",
"三门峡西": "SXF",
"三间房": "SFX",
"三阳": "SYU",
"三阳川": "SYJ",
"上万": "SWP",
"上园": "SUD",
"上杭": "SNS",
"上板城": "SBP",
"上板城南": "OBP",
"上海": "SHH",
"上海南": "SNH",
"上海松江": "IMH",
"上海虹桥": "AOH",
"上海西": "SXH",
"上腰墩": "SPJ",
"上虞": "BDH",
"上虞南": "SVU",
"上西铺": "SXM",
"上饶": "SRG",
"上高镇": "SVK",
"下台子": "EIP",
"下城子": "XCB",
"下板城": "EBP",
"下社": "XSV",
"下花园": "XYP",
"下花园北": "OKP",
"下马塘": "XAT",
"且末": "QMR",
"世博园": "ZWT",
"东丰": "DIL",
"东乡": "DXG",
"东二道河": "DRB",
"东京城": "DJB",
"东光": "DGP",
"东兴市": "RIZ",
"东升": "DRQ",
"东台": "DBH",
"东城南": "IYQ",
"东安东": "DCZ",
"东岔": "DCJ",
"东庄": "DZV",
"东戌": "RXP",
"东戴河": "RDD",
"东方": "UFQ",
"东方红": "DFB",
"东明县": "DNF",
"东明村": "DMD",
"东来": "RVD",
"东津": "DKB",
"东海": "DHB",
"东海县": "DQH",
"东淤地": "DBV",
"东港北": "RGT",
"东湾": "DRJ",
"东环": "DHA",
"东胜": "DOC",
"东胜东": "RSC",
"东胜西": "DYC",
"东至": "DCH",
"东花园北": "QBP",
"东莞": "RTQ",
"东莞东": "DMQ",
"东莞南": "DNA",
"东莞港": "DGA",
"东莞西": "WGQ",
"东营": "DPK",
"东营南": "DOK",
"东辛庄": "DXD",
"东边井": "DBB",
"东通化": "DTL",
"东镇": "DNV",
"东阳北": "DIU",
"东风南": "DPJ",
"两家": "UJT",
"两当": "LDY",
"个旧": "JJM",
"中华门": "VNH",
"中卫": "ZWJ",
"中卫南": "ZTJ",
"中和": "ZHX",
"中堂": "ZTA",
"中宁": "VNJ",
"中宁东": "ZDJ",
"中宁南": "ZNJ",
"中寨": "ZZM",
"中山": "ZSQ",
"中山北": "ZGQ",
"中川机场": "ZJJ",
"中牟": "ZGF",
"丰乐镇": "FZB",
"丰城": "FCG",
"丰城东": "FIG",
"丰城南": "FNG",
"丰水村": "FSJ",
"丰都": "FUW",
"丰镇": "FZC",
"丰顺": "FUQ",
"丰顺东": "FDA",
"临县": "LUV",
"临城": "UUP",
"临川": "LCG",
"临平南": "EVH",
"临江": "LQL",
"临汾": "LFV",
"临汾西": "LXV",
"临沂": "LVK",
"临沂东": "UYK",
"临沂北": "UMK",
"临沧": "LXM",
"临河": "LHC",
"临泉": "LOU",
"临泽": "LEJ",
"临泽南": "LDJ",
"临海": "UFH",
"临海南": "LHU",
"临淄北": "UEK",
"临清": "UQK",
"临湘": "LXQ",
"临潼": "LIY",
"临澧": "LWQ",
"临西": "UEP",
"临邑": "LUK",
"临颍": "LNF",
"临高南": "KGQ",
"丹东": "DUT",
"丹东西": "RWT",
"丹凤": "DGY",
"丹徒": "RUH",
"丹江口": "DON",
"丹阳": "DYH",
"丹阳北": "EXH",
"丹霞山": "IRQ",
"丽水": "USH",
"丽江": "LHM",
"乃林": "NLD",
"义乌": "YWH",
"义县": "YXD",
"义县西": "YSD",
"义马": "YMF",
"乌伊岭": "WPB",
"乌兰": "WIO",
"乌兰察布": "WPC",
"乌兰木图": "VLT",
"乌兰浩特": "WWT",
"乌奴耳": "WRX",
"乌审旗": "WGC",
"乌尔旗汗": "WHX",
"乌拉山西": "WQC",
"乌海东": "WVC",
"乌海西": "WXC",
"乌苏": "WSR",
"乌西": "WXR",
"乌鲁木齐": "WAR",
"乌鲁木齐南": "WMR",
"乌龙泉南": "WFN",
"乐东": "UQQ",
"乐同": "LEA",
"乐善村": "LUM",
"乐山": "IVW",
"乐山北": "UTW",
"乐平北": "LKG",
"乐平市": "LPG",
"乐昌": "LCQ",
"乐昌东": "ILQ",
"乐清": "UPH",
"乐清东": "OLH",
"乐都": "LDO",
"乔庄东": "QEP",
"九三": "SSX",
"九华山": "JSU",
"九台": "JTL",
"九台南": "JNL",
"九江": "JJG",
"九郎山": "KJQ",
"乳山": "ROK",
"乳山南": "REK",
"乾县": "QBY",
"乾安": "QOT",
"二密河": "RML",
"二营": "RYJ",
"二连": "RLC",
"二道沟门": "RDP",
"二道湾": "RDX",
"二龙": "RLD",
"二龙山屯": "ELA",
"于田": "YWR",
"于都": "YDG",
"于都北": "YYG",
"云东海": "NAQ",
"云南驿": "ANM",
"云县": "AIM",
"云居寺": "AFP",
"云山": "KZQ",
"云彩岭": "ACP",
"云梦": "YMN",
"云梦东": "YRN",
"云浮东": "IXQ",
"云阳": "YUE",
"云霄": "YBS",
"五五": "WVR",
"五华": "WHA",
"五叉沟": "WCT",
"五台山": "WSV",
"五大连池": "WRB",
"五女山": "WET",
"五家": "WUB",
"五寨": "WZV",
"五常": "WCB",
"五府山": "WFG",
"五棵树": "WKT",
"五莲": "WLK",
"五营": "WWB",
"五通": "WTZ",
"五道沟": "WDL",
"五道河": "WHP",
"五龙背": "WBT",
"五龙背东": "WMT",
"井冈山": "JGG",
"井南": "JNP",
"井店": "JFP",
"井湾": "JWA",
"井陉": "JJP",
"亚布力": "YBB",
"亚布力南": "YWB",
"亚布力西": "YSB",
"亚龙湾": "TWQ",
"交城": "JNV",
"亦庄": "YUP",
"京山": "JCN",
"亭亮": "TIZ",
"亮甲店": "LRT",
"亳州": "BZH",
"亳州南": "BNU",
"什邡西": "SFE",
"什里店": "OMP",
"仁布": "RUO",
"介休": "JXV",
"介休东": "JDV",
"从江": "KNW",
"仙人桥": "XRL",
"仙居": "XJU",
"仙居南": "XNU",
"仙林": "XPH",
"仙桃": "VTN",
"仙桃西": "XAN",
"仙游": "XWS",
"代县": "DKV",
"以勒": "YPE",
"仪征": "UZH",
"仪陇": "YCE",
"仲恺": "ZKA",
"任丘": "RQP",
"伊图里河": "YEX",
"伊宁": "YMR",
"伊宁东": "YNR",
"伊拉哈": "YLX",
"伊敏": "YMX",
"伊春": "YCB",
"伊林": "YLB",
"伊通": "YTL",
"会同": "VTQ",
"会昌北": "XEG",
"低庄": "DVQ",
"低窝铺": "DWJ",
"余姚": "YYH",
"余姚北": "CTH",
"余干": "YFG",
"余江": "YHG",
"余粮堡": "YLD",
"佛坪": "FUY",
"佛山": "FSQ",
"佛山西": "FOQ",
"佳木斯": "JMB",
"佳木斯西": "JUB",
"依兰": "YEB",
"依吞布拉克": "YVR",
"依安": "YAX",
"侯马": "HMV",
"侯马西": "HPV",
"保定": "BDP",
"保定东": "BMP",
"保山": "BAM",
"保康": "BKD",
"保康县": "BKN",
"信丰": "EFG",
"信丰西": "XFG",
"信宜": "EEQ",
"信阳": "XUN",
"信阳东": "OYN",
"修文县": "XWE",
"修武": "XWF",
"修武西": "EXF",
"倭肯": "WQB",
"偃师": "YSF",
"偏店": "PRP",
"元氏": "YSP",
"元江": "AJM",
"元谋西": "AMM",
"先锋": "NQQ",
"光山": "GUN",
"光明城": "IMQ",
"光泽": "GZS",
"克一河": "KHX",
"克东": "KOB",
"克山": "KSB",
"克拉玛依": "KHR",
"免渡河": "MDX",
"兑镇": "DWV",
"兖州": "YZK",
"党武": "DWE",
"全州南": "QNZ",
"全椒": "INH",
"八仙筒": "VXD",
"八方山": "FGQ",
"八步": "BBE",
"八角台": "BTD",
"八达岭": "ILP",
"八达岭长城": "VLP",
"八里甸子": "BLT",
"八面城": "BMD",
"八面通": "BMB",
"公主岭": "GLT",
"公主岭南": "GBT",
"公庙子": "GMC",
"公营子": "GYD",
"六合": "KLH",
"六合镇": "LEX",
"六安": "UAH",
"六枝": "LIW",
"六枝南": "LOE",
"六盘山": "UPJ",
"六盘水": "UMW",
"六盘水东": "LDE",
"六道河子": "LVP",
"兰岗": "LNB",
"兰州": "LZJ",
"兰州东": "LVJ",
"兰州新区": "LQJ",
"兰州西": "LAJ",
"兰棱": "LLB",
"兰溪": "LWH",
"兰考": "LKF",
"兰考南": "LUF",
"兰陵北": "COK",
"共青城": "GAG",
"关岭": "GLE",
"关林": "GLF",
"兴业": "SNZ",
"兴义": "XRZ",
"兴凯": "EKB",
"兴和北": "EBC",
"兴和西": "XEC",
"兴国": "EUG",
"兴国西": "XIG",
"兴城": "XCD",
"兴城西": "XXD",
"兴宁": "ENQ",
"兴宁南": "XNA",
"兴安": "XAZ",
"兴安北": "XDZ",
"兴山": "EMN",
"兴平": "XPY",
"兴文": "XNE",
"兴文南": "XAE",
"兴泉堡": "XQJ",
"兴隆县": "EXP",
"兴隆县西": "IRP",
"兴隆店": "XDD",
"兴隆镇": "XZB",
"内乡": "NXF",
"内江": "NJW",
"内江东": "NDE",
"内江北": "NKW",
"内黄": "NUF",
"册亨": "CHZ",
"冕宁": "UGW",
"军粮城北": "JMP",
"农安": "NAT",
"冠县": "GHP",
"冠豸山": "GPS",
"冠豸山南": "GSS",
"冯屯": "FTX",
"冷坝": "LBE",
"冷水江东": "UDQ",
"准东": "ZER",
"准格尔": "ZEC",
"凌海": "JID",
"凌海南": "UNT",
"凌源": "LYD",
"凌源东": "LDD",
"凤凰古城": "FCA",
"凤凰城": "FHT",
"凤凰机场": "FJQ",
"凤县": "FXY",
"凤台南": "FTU",
"凤城东": "FDT",
"凤州": "FZY",
"凤阳": "FUH",
"凭祥": "PXZ",
"凯里": "KLW",
"凯里南": "QKW",
"刀尔登": "DRD",
"分宜": "FYG",
"刘召": "WYC",
"刘家店": "UDT",
"刘家河": "LVT",
"创业村": "CEX",
"利川": "LCN",
"利津南": "LNK",
"利辛西": "XBH",
"到保": "RBT",
"前卫": "QWD",
"前山": "QXQ",
"前磨头": "QMP",
"前苇塘": "QWP",
"前进镇": "QEB",
"前锋": "QFB",
"剑门关": "JME",
"加查": "JIO",
"加格达奇": "JGX",
"勃利": "BLB",
"勉县": "MVY",
"勐腊": "MWM",
"包头": "BTC",
"包头东": "BDC",
"化州": "HZZ",
"化德": "HGC",
"化念": "HDM",
"北井子": "BRT",
"北京": "BJP",
"北京东": "BOP",
"北京丰台": "FTP",
"北京北": "VAP",
"北京南": "VNP",
"北京大兴": "IPP",
"北京朝阳": "IFP",
"北京西": "BXP",
"北宅": "BVP",
"北安": "BAB",
"北屯": "BYP",
"北屯市": "BXR",
"北戴河": "BEP",
"北流": "BOZ",
"北海": "BHZ",
"北滘": "IBQ",
"北滘西": "BJA",
"北滩": "BEJ",
"北票": "BPT",
"北票南": "RPD",
"北营": "BIV",
"北辰": "BII",
"北马圈子": "BRP",
"十堰": "SNN",
"十堰东": "OUN",
"十字门": "SIA",
"十家子": "SJD",
"十渡": "SEP",
"千岛湖": "QDU",
"千河": "QUY",
"千阳": "QOY",
"午汲": "WJP",
"华城": "VCQ",
"华家": "HJT",
"华容": "HRN",
"华容东": "HPN",
"华容南": "KRN",
"华山": "HGY",
"华山北": "HDY",
"华州": "HXY",
"华蓥": "HUW",
"卓资东": "ZDC",
"卓资山": "ZZC",
"南丰": "NFG",
"南丹": "NDZ",
"南乐": "NWF",
"南京": "NJH",
"南京南": "NKH",
"南仇": "NCK",
"南充": "NCW",
"南充北": "NCE",
"南华": "NAM",
"南博山": "NBK",
"南口": "NKP",
"南口前": "NKT",
"南召": "NAF",
"南城": "NDG",
"南城司": "NSP",
"南堡北": "TLP",
"南大庙": "NMP",
"南头": "NOQ",
"南宁": "NNZ",
"南宁东": "NFZ",
"南宁北": "NRZ",
"南宁西": "NXZ",
"南安北": "NUS",
"南宫东": "NFP",
"南屯": "NTR",
"南岔": "NCB",
"南峪": "NUP",
"南平市": "NOS",
"南彭": "NAE",
"南昌": "NCG",
"南昌东": "NUG",
"南昌南": "HOG",
"南昌西": "NXG",
"南曹": "NEF",
"南朗": "NNQ",
"南木": "NMX",
"南杂木": "NZT",
"南桥": "NQD",
"南江": "FIW",
"南江口": "NDQ",
"南河川": "NHJ",
"南湖东": "NDN",
"南湾子": "NWP",
"南溪": "NEE",
"南溪北": "NOE",
"南漳": "NZN",
"南翔北": "NEH",
"南芬": "NFT",
"南芬北": "NUT",
"南观村": "NGP",
"南通": "NUH",
"南通西": "NXU",
"南部": "NBE",
"南阳": "NFF",
"南阳东": "NOF",
"南阳寨": "NYF",
"南陵": "LLH",
"南雄": "NCQ",
"南靖": "NJS",
"博乐": "BER",
"博乐东": "BOR",
"博克图": "BKX",
"博兴": "BXK",
"博白": "BBZ",
"博罗": "BOA",
"博罗北": "BLA",
"博鳌": "BWQ",
"卢龙": "UAP",
"卧里屯": "WLX",
"卧龙寺": "WLY",
"卫东": "WVT",
"卫星": "WVB",
"卫辉": "WHF",
"卫辉南": "WVF",
"即墨北": "JVK",
"历城": "VHK",
"厉家寨": "UPK",
"厚街": "HJA",
"原平": "YPV",
"原平西": "IPV",
"厦门": "XMS",
"厦门北": "XKS",
"厦门高崎": "XBS",
"友好": "YOB",
"双丰": "OFB",
"双吉": "SML",
"双城北": "SBB",
"双城堡": "SCB",
"双峰北": "NFQ",
"双水镇": "PQQ",
"双河市": "OHR",
"双河镇": "SEL",
"双洋": "SQS",
"双流机场": "IPW",
"双流西": "IQW",
"双牌": "SBZ",
"双辽": "ZJD",
"双阳": "OYT",
"双鸭山": "SSB",
"双鸭山西": "OXB",
"双龙南": "SNE",
"双龙湖": "OHB",
"发耳": "FEM",
"叙永北": "XEE",
"口前": "KQL",
"古丈西": "GXA",
"古东": "GDV",
"古交": "GJV",
"古北口": "GKP",
"古城东": "GUU",
"古城镇": "GZB",
"古浪": "GLJ",
"古浪北": "GBJ",
"古田": "GTS",
"古田会址": "STS",
"古田北": "GBS",
"古莲": "GRX",
"古路": "GOE",
"古镇": "GNQ",
"句容": "JRU",
"句容西": "JWH",
"台前": "TTK",
"台安": "TID",
"台安南": "TAD",
"台山": "PUQ",
"台州": "TEU",
"台州西": "TZH",
"叶城": "YER",
"叶柏寿": "YBD",
"叶集": "YCH",
"司家岭": "OLK",
"合川": "WKW",
"合浦": "HVZ",
"合肥": "HFH",
"合肥北城": "COH",
"合肥南": "ENH",
"合阳": "HAY",
"合阳北": "HTY",
"吉安": "VAG",
"吉安西": "JIG",
"吉文": "JWX",
"吉林": "JLL",
"吉水西": "JSG",
"吉舒": "JSL",
"吉首": "JIQ",
"吉首东": "JDA",
"同心": "TXJ",
"同江": "TJB",
"名山": "MSE",
"后湖": "IHN",
"吐列毛杜": "TMD",
"吐哈": "THR",
"吐鲁番": "TFR",
"吐鲁番北": "TAR",
"向塘": "XTG",
"向阳": "XDB",
"吕梁": "LHV",
"含山南": "HSU",
"启东": "QOU",
"吴圩": "WYZ",
"吴圩机场": "WJZ",
"吴堡": "WUY",
"吴官田": "WGM",
"吴家川": "WCJ",
"吴川": "WAQ",
"吴忠": "WVJ",
"吴桥": "WUP",
"周口": "ZKN",
"周口东": "ZKF",
"周宁": "ZNS",
"周家": "ZOB",
"周家屯": "ZOD",
"周水子": "ZIT",
"呼兰": "HUB",
"呼和浩特": "HHC",
"呼和浩特东": "NDC",
"呼鲁斯太": "VTJ",
"咋子": "ZAL",
"和什托洛盖": "VSR",
"和平": "VAQ",
"和平北": "HPA",
"和田": "VTR",
"和硕": "VUR",
"和静": "HJR",
"和龙": "HLL",
"咸丰": "XFA",
"咸宁": "XNN",
"咸宁东": "XKN",
"咸宁北": "XRN",
"咸宁南": "UNN",
"咸阳": "XYY",
"咸阳北": "EBY",
"咸阳西": "XOY",
"哈密": "HMR",
"哈尔滨": "HBB",
"哈尔滨东": "VBB",
"哈尔滨北": "HTB",
"哈尔滨西": "VAB",
"哈拉海": "HIT",
"哈拉苏": "HAX",
"哈达铺": "HDJ",
"响水县": "XSU",
"唐家湾": "PDQ",
"唐山": "TSP",
"唐山北": "FUP",
"唐山西": "TSI",
"唐河": "THF",
"唐海南": "IEP",
"商丘": "SQF",
"商丘东": "SIF",
"商丘南": "SPF",
"商南": "ONY",
"商城": "SWN",
"商河": "SOK",
"商洛": "OLY",
"商洛北": "SBY",
"商都": "SXC",
"喀什": "KSR",
"喀喇其": "KQX",
"喀左": "KZT",
"喇嘛甸": "LMX",
"喜德": "EDW",
"喜德西": "XXE",
"嘉兴": "JXH",
"嘉兴南": "EPH",
"嘉善": "JSH",
"嘉善南": "EAH",
"嘉峪关": "JGJ",
"嘉峪关南": "JBJ",
"嘉峰": "JFF",
"嘉祥": "JUK",
"嘉祥北": "MXK",
"嘎什甸子": "GXD",
"四会": "AHQ",
"四合永": "OHD",
"四平": "SPT",
"四平东": "PPT",
"四方台": "STB",
"四棵树": "SIR",
"四道湾": "OUD",
"团结": "TIX",
"园墩": "YAJ",
"固原": "GUJ",
"固始": "GXN",
"固安": "GFP",
"固安东": "GQP",
"固镇": "GEH",
"图们": "TML",
"图们北": "QSL",
"图强": "TQX",
"图木舒克": "TMR",
"图里河": "TEX",
"土地堂东": "TTN",
"土桥子": "TQJ",
"土溪": "TSW",
"土牧尔台": "TRC",
"土贵乌拉": "TGC",
"土门子": "TCJ",
"坂田": "BTQ",
"坡底下": "PXJ",
"坪上": "PSK",
"坪石": "PSQ",
"垫江": "DJE",
"城固": "CGY",
"城固北": "CBY",
"城子坦": "CWT",
"城西": "CIA",
"城阳": "CEK",
"塔哈": "THX",
"塔城": "TZR",
"塔尔气": "TVX",
"塔崖驿": "TYP",
"塔河": "TXX",
"塘沽": "TGP",
"增城": "ZCA",
"墨江": "MJM",
"墨玉": "MUR",
"壮志": "ZUX",
"壶镇": "HUU",
"复盛": "FAW",
"夏官营": "XGJ",
"夏格庄": "XZK",
"夏石": "XIZ",
"夏邑县": "EJH",
"大丰": "KRQ",
"大余": "DYG",
"大元": "DYZ",
"大兴": "DXX",
"大兴机场": "IWP",
"大兴沟": "DXL",
"大其拉哈": "DQX",
"大冶北": "DBN",
"大厂": "DCI",
"大口屯": "DKP",
"大同": "DTV",
"大同南": "DMV",
"大坝": "DBJ",
"大埔": "DPI",
"大堡": "DVT",
"大孤山": "RMT",
"大安": "RAT",
"大安北": "RNT",
"大官屯": "DTT",
"大屯": "DNT",
"大巴": "DBD",
"大平房": "DPD",
"大庆": "DZX",
"大庆东": "LFX",
"大庆西": "RHX",
"大成": "DCT",
"大战场": "DTJ",
"大拟": "DNZ",
"大方": "DFE",
"大方南": "DNE",
"大旺": "WWQ",
"大明湖": "JAK",
"大朗镇": "KOQ",
"大杖子": "DAP",
"大杨树": "DUX",
"大板": "DBC",
"大林": "DLD",
"大武口": "DFJ",
"大涧": "DFP",
"大港南": "DNU",
"大灰厂": "DHP",
"大王滩": "DZZ",
"大理": "DKM",
"大田北": "DTS",
"大田边": "DBM",
"大盘石": "RPP",
"大石头": "DSL",
"大石头南": "DAL",
"大石寨": "RZT",
"大石桥": "DQT",
"大磴沟": "DKJ",
"大禾塘": "SOQ",
"大竹园": "DZY",
"大红旗": "DQD",
"大英东": "IAW",
"大荔": "DNY",
"大营": "DYV",
"大营子": "DZD",
"大营镇": "DJP",
"大虎山": "DHD",
"大足南": "FQW",
"大连": "DLT",
"大连北": "DFT",
"大连西": "GZT",
"大通西": "DTO",
"大邑": "DEE",
"大阳": "RET",
"大雁": "DYX",
"大青沟": "DSD",
"天义": "TND",
"天台山": "TIU",
"天岗": "TGL",
"天府机场": "TIE",
"天柱山": "QWH",
"天桥岭": "TQL",
"天水": "TSJ",
"天水南": "TIJ",
"天河机场": "TJN",
"天河潭": "TTE",
"天河街": "TEN",
"天津": "TJP",
"天津北": "TBP",
"天津南": "TIP",
"天津西": "TXP",
"天祝": "TZJ",
"天祝西": "TRJ",
"天镇": "TZV",
"天门": "TMN",
"天门南": "TNN",
"太仓": "TCU",
"太仓南": "TNU",
"太原": "TYV",
"太原东": "TDV",
"太原北": "TBV",
"太原南": "TNV",
"太和东": "TDU",
"太和北": "JYN",
"太姥山": "TLS",
"太子城": "IZP",
"太平川": "TIT",
"太平镇": "TEB",
"太湖": "TKH",
"太湖南": "TAU",
"太谷": "TGV",
"太谷东": "TEV",
"太谷西": "TIV",
"太阳升": "TQT",
"太阳山": "TYJ",
"头门港": "TMU",
"夹心子": "JXT",
"奇峰塔": "QVP",
"奈曼": "NMD",
"奈林皋": "NGT",
"奉化": "FHH",
"奉节": "FJE",
"奎屯": "KTR",
"奎山": "KAB",
"如东": "RIH",
"如皋": "RBH",
"如皋南": "RNU",
"始兴": "IPQ",
"姚千户屯": "YQT",
"姚家": "YAT",
"姚渡": "AOJ",
"姜堰": "UEH",
"姜家": "JJB",
"威信": "WXE",
"威海": "WKK",
"威海北": "WHK",
"威海南海": "WRK",
"威箐": "WAM",
"威舍": "WSM",
"威虎岭北": "WBL",
"威远": "WYE",
"娄山关南": "LSE",
"娄底": "LDQ",
"娄底南": "UOQ",
"娄烦": "USV",
"娘子关": "NIP",
"婺源": "WYG",
"嫩江": "NGX",
"子洲": "ZZY",
"子长": "ZHY",
"孙吴": "SKB",
"孙家": "SUB",
"孙镇": "OZY",
"孝南": "XNV",
"孝感": "XGN",
"孝感东": "GDN",
"孝感北": "XJN",
"孝西": "XOV",
"孟关": "MGE",
"孟塬": "HSY",
"孟家岗": "MGB",
"孟庄": "MZF",
"孟赛": "VFM",
"孤家子": "GKT",
"孤山口": "GSP",
"宁东": "NOJ",
"宁东南": "NDJ",
"宁乡": "NXQ",
"宁乡西": "NXA",
"宁化": "NHS",
"宁县": "AXJ",
"宁国": "NNH",
"宁国南": "NIU",
"宁城": "NCD",
"宁安": "NAB",
"宁家": "NVT",
"宁强": "NQY",
"宁强南": "NOY",
"宁德": "NES",
"宁明": "NMZ",
"宁村": "NCZ",
"宁武": "NWV",
"宁波": "NGH",
"宁波东": "NVH",
"宁洱": "NEM",
"宁海": "NHH",
"宁都": "NIG",
"宁陵县": "NLF",
"安亭北": "ASH",
"安亭西": "AXU",
"安仁": "ARG",
"安化": "PKQ",
"安匠": "MJP",
"安口窑": "AYY",
"安吉": "AJU",
"安图": "ATL",
"安图西": "AXL",
"安塘": "ATV",
"安多": "ADO",
"安定": "ADP",
"安家": "AJB",
"安州": "AZE",
"安平": "APT",
"安广": "AGT",
"安庆": "AQH",
"安庆西": "AIU",
"安康": "AKY",
"安德": "ARW",
"安次": "ACI",
"安江东": "ADA",
"安泽": "AEV",
"安溪": "AXS",
"安溪东": "ANS",
"安达": "ADX",
"安阳": "AYF",
"安阳东": "ADF",
"安陆": "ALN",
"安陆西": "AXN",
"安靖": "PYW",
"安顺": "ASW",
"安顺西": "ASE",
"安龙": "AUZ",
"宋": "SOB",
"宋城路": "SFF",
"宏克力": "OKB",
"宏庆": "HEY",
"官厅": "GTP",
"官厅西": "KEP",
"官字井": "GOT",
"官桥北": "GQA",
"官高": "GVP",
"定南": "DNG",
"定南南": "DIG",
"定州": "DXP",
"定州东": "DOP",
"定襄": "DXV",
"定西": "DSJ",
"定西北": "DNJ",
"定边": "DYJ",
"定远": "EWH",
"定陶": "DQK",
"宜兴": "YUH",
"宜城": "YIN",
"宜宾": "YKE",
"宜宾东": "EDE",
"宜宾西": "YXE",
"宜州": "YSZ",
"宜昌": "YCN",
"宜昌东": "HAN",
"宜春": "YEG",
"宜耐": "YVM",
"宜良北": "YSM",
"宝丰": "BFF",
"宝华山": "BWH",
"宝坻": "BZI",
"宝坻北": "BPP",
"宝坻南": "BOI",
"宝应": "BAU",
"宝林": "BNB",
"宝泉岭": "BQB",
"宝清": "BUB",
"宝鸡": "BJY",
"宝鸡南": "BBY",
"宝龙山": "BND",
"宣化": "XHP",
"宣化北": "VJP",
"宣和": "XWJ",
"宣城": "ECH",
"宣威": "XWM",
"宣汉": "XHY",
"容县": "RXZ",
"容桂": "RUQ",
"宽甸": "KDT",
"宾州": "BZB",
"宾西北": "BBB",
"宾阳": "UKZ",
"宿州": "OXH",
"宿州东": "SRH",
"宿松": "OAH",
"宿松东": "SSU",
"宿迁": "SQU",
"密云": "MYP",
"密云北": "MUP",
"密山": "MSB",
"富县": "FEY",
"富县东": "FDY",
"富宁": "FNM",
"富川": "FDZ",
"富平": "FPY",
"富拉尔基": "FRX",
"富海": "FHX",
"富源": "FYM",
"富源北": "FBM",
"富蕴": "FYR",
"富裕": "FYX",
"富锦": "FIB",
"富阳": "FYU",
"富阳西": "FUU",
"富顺": "FSE",
"寒岭": "HAT",
"寒葱沟": "HKB",
"察素齐": "CSC",
"寮步": "LTQ",
"对青山": "DQB",
"寿县": "SOU",
"寿阳": "SYV",
"射阳": "SAU",
"将乐": "JLS",
"尉犁": "WRR",
"小东": "XOD",
"小中甸": "EDM",
"小哨": "XAM",
"小寺沟": "ESP",
"小岭": "XLB",
"小市": "XST",
"小得江": "EJM",
"小扬气": "XYX",
"小新街": "XXM",
"小月旧": "XFM",
"小村": "XEM",
"小榄": "EAQ",
"小河镇": "EKY",
"小湾东": "XNM",
"小董": "XEZ",
"小西庄": "XXP",
"小金口": "NKQ",
"小雨谷": "XHM",
"尖山": "JPQ",
"尖峰": "PFQ",
"尚家": "SJB",
"尚志": "SZB",
"尚志南": "OZB",
"尤溪": "YXS",
"尹地": "YDM",
"尼勒克": "NIR",
"尼木": "NMO",
"屏南": "PNS",
"屏山": "PSE",
"屏边": "PBM",
"山丹": "SDJ",
"山丹马场": "JEJ",
"山南": "SAO",
"山坡东": "SBN",
"山城镇": "SCL",
"山市": "SQB",
"山河屯": "SHL",
"山海关": "SHD",
"山阴": "SNV",
"岐山": "QAY",
"岑溪": "CNZ",
"岔江": "CAM",
"岗嘎": "GAO",
"岚县": "UXV",
"岚山西": "UWK",
"岢岚": "KLV",
"岩会": "AEP",
"岫岩": "XXT",
"岱岳": "RYV",
"岳家井": "YGJ",
"岳池": "AWW",
"岳阳": "YYQ",
"岳阳东": "YIQ",
"岳阳南": "RWQ",
"岷县": "MXJ",
"峡江": "EJG",
"峨山": "EVM",
"峨眉": "EMW",
"峨眉山": "IXW",
"峨边南": "ENE",
"峻德": "JDB",
"崇仁": "CRG",
"崇州": "CZE",
"崇左": "CZZ",
"崇左南": "COZ",
"崇礼": "KOP",
"崔黄口": "CHP",
"崖州": "YUQ",
"嵊州北": "SEU",
"嵊州新昌": "SKU",
"嵩明": "SVM",
"嵯岗": "CAX",
"巍山": "WOM",
"巢湖": "CIH",
"巢湖东": "GUH",
"左岭": "ZSN",
"巨野": "JYK",
"巨野北": "MYK",
"巩义": "GXF",
"巩义南": "GYF",
"巫山": "WOE",
"巴东": "BBN",
"巴中": "IEW",
"巴中东": "BDE",
"巴中西": "BZE",
"巴图营": "BWT",
"巴山": "BAY",
"巴彦淖尔": "FMC",
"巴彦高勒": "BAC",
"巴林": "BLX",
"巴楚": "BCR",
"布列开": "BLR",
"布海": "BUT",
"师宗": "SEM",
"带岭": "DLB",
"常山": "CSU",
"常州": "CZH",
"常州北": "ESH",
"常平": "DAQ",
"常平东": "FQQ",
"常平南": "FPQ",
"常庄": "CVK",
"常德": "VGQ",
"常熟": "CAU",
"帽儿山": "MRB",
"帽儿山西": "MUB",
"干塘": "GNJ",
"平关": "PGM",
"平凉": "PIJ",
"平凉南": "POJ",
"平南南": "PAZ",
"平原": "PYK",
"平原东": "PUK",
"平原堡": "PPJ",
"平台": "PVT",
"平坝南": "PBE",
"平型关": "PGV",
"平安": "PAL",
"平安镇": "PZT",
"平安驿": "PNO",
"平山": "PSB",
"平岗": "PGL",
"平峪": "PYP",
"平川西": "PCJ",
"平庄": "PAD",
"平庄北": "PZD",
"平庄南": "PND",
"平度": "PNK",
"平度西": "PAK",
"平房": "PFB",
"平旺": "PWV",
"平昌": "PCE",
"平果": "PGZ",
"平河口": "PHM",
"平泉": "PQP",
"平泉北": "PBP",
"平洋": "PYX",
"平湖": "PHQ",
"平潭": "PIS",
"平田": "PTM",
"平社": "PSV",
"平遥": "PYV",
"平遥古城": "PDV",
"平邑": "PIK",
"平阳": "ARH",
"平顶山": "PEN",
"平顶山西": "PDF",
"广元": "GYW",
"广南卫": "GNM",
"广南县": "GXM",
"广宁": "FBQ",
"广宁寺": "GQT",
"广宁寺南": "GNT",
"广安": "VJW",
"广安南": "VUW",
"广州": "GZQ",
"广州东": "GGQ",
"广州北": "GBQ",
"广州南": "IZQ",
"广州白云": "GBA",
"广州莲花山": "GLA",
"广州西": "GXQ",
"广州长隆": "GCA",
"广平": "GPP",
"广德": "GRH",
"广德南": "GNU",
"广水": "GSN",
"广汉北": "GVW",
"广通北": "GPM",
"广阳": "LFP",
"庄寨": "VOK",
"庄桥": "ZQH",
"庄河北": "ZUT",
"庄里": "ZLY",
"庆元": "QYU",
"庆城": "QHJ",
"庆安": "QAB",
"庆盛": "QSQ",
"庆阳": "QOJ",
"庆阳山": "QSJ",
"庐山": "LSG",
"庐江": "UJH",
"庐江西": "LUU",
"库伦": "KLD",
"库尔勒": "KLR",
"库尔木依": "VPR",
"库车": "KCR",
"库都尔": "KDX",
"应县": "YZV",
"应城": "YHN",
"庙城": "MAP",
"庙山": "MSN",
"庙岭": "MLL",
"庙庄": "MZJ",
"康城": "KCP",
"康庄": "KZP",
"康熙岭": "KXZ",
"康金井": "KJB",
"廉江": "LJZ",
"廊坊": "LJP",
"延吉": "YJL",
"延吉西": "YXL",
"延安": "YWY",
"延平": "YPS",
"延平东": "ADS",
"延平西": "YWS",
"延庆": "YNP",
"建三江": "JIB",
"建始": "JRN",
"建宁南": "JQS",
"建宁县北": "JCS",
"建安": "JUL",
"建平": "JAD",
"建德": "JDU",
"建昌": "JFD",
"建桥": "JQA",
"建水": "JSM",
"建湖": "AJH",
"建瓯": "JVS",
"建瓯东": "JZS",
"建瓯西": "JUS",
"建设": "JET",
"建阳": "JYS",
"开化": "KHU",
"开原": "KYT",
"开原西": "KXT",
"开安": "KAT",
"开封": "KFF",
"开封北": "KBF",
"开平南": "PVQ",
"开江": "KAW",
"开福寺": "FLQ",
"开远南": "KUM",
"开阳": "KVW",
"开鲁": "KLC",
"弋阳": "YIG",
"弓棚子": "GPT",
"引镇": "CAY",
"张兰": "ZLV",
"张家口": "ZMP",
"张家口南": "IXP",
"张家川": "ZIJ",
"张家港": "ZAU",
"张家界": "DIQ",
"张家界西": "JXA",
"张掖": "ZYJ",
"张掖西": "ZEJ",
"张桥": "ZQY",
"张槎": "ZAA",
"张百湾": "ZUP",
"张维屯": "ZWB",
"张辛": "ZIP",
"弥勒": "MLM",
"归流河": "GHT",
"当涂东": "OWH",
"当阳": "DYN",
"彬州": "BXY",
"彬州东": "BFY",
"彭山": "PSW",
"彭山北": "PPW",
"彭州": "PMW",
"彭州南": "PKW",
"彭水": "PHW",
"彭泽": "PZG",
"彭阳": "PYJ",
"彰武": "ZWD",
"徐家": "XJB",
"徐家店": "HYK",
"徐州": "XCH",
"徐州东": "UUH",
"徐水": "XSP",
"徐闻": "XJQ",
"得耳布尔": "DRX",
"得莫利": "DTB",
"徘徊北": "PHP",
"微子镇": "WQP",
"德令哈": "DHO",
"德伯斯": "RDT",
"德保": "RBZ",
"德兴": "DWG",
"德兴东": "DDG",
"德化": "DKS",
"德安": "DAG",
"德州": "DZP",
"德州东": "DIP",
"德惠": "DHT",
"德惠西": "DXT",
"德昌": "DVW",
"德昌西": "DXE",
"德清": "DRH",
"德清西": "MOH",
"德阳": "DYW",
"徽县": "HYY",
"忻州": "XXV",
"忻州西": "IXV",
"怀仁": "HRV",
"怀仁东": "HFV",
"怀化": "HHQ",
"怀化南": "KAQ",
"怀宁": "APH",
"怀安": "QAP",
"怀来": "VQP",
"怀柔": "HRP",
"怀柔北": "HBP",
"怀柔南": "IMP",
"怀集": "FAQ",
"恩平": "PXQ",
"恩施": "ESN",
"恭城": "GCZ",
"息县": "ENN",
"息烽": "XFW",
"悬钟": "XRP",
"惠东": "KDA",
"惠东南": "KDQ",
"惠农": "HMJ",
"惠安": "HNS",
"惠安堡": "KBJ",
"惠山": "VCH",
"惠州": "HCQ",
"惠州北": "HUA",
"惠州南": "KNA",
"惠州西": "VXQ",
"惠来": "HGA",
"惠环": "KHQ",
"惠阳": "KNQ",
"慈利": "CUQ",
"成吉思汗": "CJX",
"成都": "CDW",
"成都东": "ICW",
"成都南": "CNW",
"成都西": "CMW",
"成高子": "CZB",
"戚墅堰": "QYH",
"扎兰屯": "ZTX",
"扎囊": "ZNO",
"扎赉诺尔西": "ZXX",
"扎鲁特": "ZLD",
"打柴沟": "DGJ",
"托克托东": "TVC",
"扬州": "YLH",
"扬州东": "YDU",
"扶余": "FYT",
"扶余北": "FBT",
"扶沟南": "FGF",
"扶绥": "FSZ",
"扶绥南": "FNZ",
"承德": "CDP",
"承德东": "CCP",
"承德南": "IVP",
"承德县北": "IYP",
"抚宁": "FNP",
"抚州": "FZG",
"抚州东": "FDG",
"抚州北": "FBG",
"抚松": "FSL",
"抚远": "FYB",
"抚顺": "FST",
"抚顺北": "FET",
"拉古": "LGB",
"拉哈": "LHX",
"拉林": "LAB",
"拉萨": "LSO",
"拉鲊": "LEM",
"招柏": "ZBP",
"换新天": "VTB",
"揭阳": "JYA",
"揭阳南": "JRQ",
"揭阳机场": "JUA",
"攀枝花": "PRW",
"攀枝花南": "PNE",
"支提山": "ZIS",
"攸县": "YOG",
"攸县南": "YXG",
"政和": "ZES",
"敖力布告": "ALD",
"敖汉": "YED",
"敦化": "DHL",
"敦煌": "DHJ",
"文地": "WNZ",
"文安": "WBP",
"文昌": "WEQ",
"文水": "WEV",
"文登": "WBK",
"文登东": "WGK",
"文登南": "WWK",
"斜河涧": "EEP",
"新乐": "ELP",
"新乡": "XXF",
"新乡东": "EGF",
"新乡南": "ENF",
"新会": "EFQ",
"新余": "XUG",
"新余北": "XBG",
"新保安": "XAP",
"新兴县": "XGQ",
"新化": "EHQ",
"新化南": "EJQ",
"新华": "XHB",
"新华屯": "XAX",
"新县": "XSN",
"新友谊": "EYB",
"新和": "XIR",
"新坪田": "XPM",
"新塘": "XWQ",
"新塘南": "NUQ",
"新安": "EAM",
"新安县": "XAF",
"新帐房": "XZX",
"新干": "EGG",
"新干东": "XGG",
"新昌北": "XBU",
"新晃": "XLQ",
"新晃西": "EWQ",
"新李": "XLJ",
"新杖子": "ERP",
"新松浦": "XOB",
"新林": "XPX",
"新民": "XMD",
"新民北": "XOT",
"新沂": "VIH",
"新沂南": "XYU",
"新津": "IRW",
"新津南": "ITW",
"新窝铺": "EPD",
"新立屯": "XLD",
"新立镇": "XGT",
"新绛": "XJV",
"新绰源": "XRX",
"新肇": "XZT",
"新邱": "XQD",
"新郑机场": "EZF",
"新都东": "EWW",
"新阳镇": "XZJ",
"新青": "XQB",
"新香坊北": "RHB",
"方城": "FNF",
"方正": "FNB",
"施家嘴": "SHM",
"施秉": "AQW",
"旅顺": "LST",
"旌德": "NSH",
"旗下营": "QXC",
"旗下营南": "QNC",
"无为": "IIH",
"无为南": "WWU",
"无锡": "WXH",
"无锡东": "WGH",
"无锡新区": "IFH",
"日喀则": "RKO",
"日照": "RZK",
"日照西": "KZK",
"旧庄窝": "JVP",
"旬阳": "XUY",
"旬阳北": "XBY",
"昂昂溪": "AAX",
"昆山": "KSH",
"昆山南": "KNH",
"昆明": "KMM",
"昆明南": "KOM",
"昆玉": "ESR",
"昆都仑召": "KDC",
"昆阳": "KAM",
"昌乐": "CLK",
"昌图": "CTT",
"昌图西": "CPT",
"昌平": "CPP",
"昌平北": "VBP",
"昌邑": "CRK",
"昌黎": "CLP",
"明光": "MGH",
"明城": "MCL",
"明水河": "MUT",
"明港": "MGN",
"明港东": "MDN",
"明溪": "MOS",
"明珠": "MFQ",
"春湾": "CQQ",
"春阳": "CAL",
"昭山": "KWQ",
"昭通": "ZDW",
"晋中": "JZV",
"晋城": "JCF",
"晋城东": "JGF",
"晋城北": "JEF",
"晋州": "JXP",
"晋江": "JJS",
"晏城": "YEK",
"晨明": "CMB",
"普兰店": "PLT",
"普宁": "PEQ",
"普安": "PAN",
"普安县": "PUE",
"普定": "PGW",
"普洱": "PEM",
"普者黑": "PZM",
"普雄": "POW",
"景州": "JEP",
"景德镇": "JCG",
"景德镇北": "JDG",
"景泰": "JTJ",
"暖泉": "NQJ",
"暮云": "KIQ",
"曲子": "QJJ",
"曲水县": "QSO",
"曲江": "QIM",
"曲阜": "QFK",
"曲阜东": "QAK",
"曲阜南": "QQK",
"曲靖": "QJM",
"曲靖北": "QBM",
"曹县": "CXK",
"曹妃甸东": "POP",
"曹妃甸港": "PGP",
"曹子里": "CFP",
"曾口": "ZKE",
"月亮田": "YUM",
"月山": "YBF",
"朋普": "PRM",
"朔州": "SUV",
"朗乡": "LXB",
"朗县": "LIO",
"望牛墩": "WNA",
"望都": "WDP",
"朝天": "CTE",
"朝天南": "CTY",
"朝阳南": "CYD",
"朝阳地": "CDD",
"朝阳川": "CYL",
"朝阳湖": "CYE",
"朝阳镇": "CZL",
"木里图": "MUD",
"本溪": "BXT",
"本溪新城": "BVT",
"朱家沟": "ZUB",
"朱家窑": "ZUJ",
"朱日和": "ZRC",
"朱砂古镇": "ZSE",
"李家": "LJB",
"李家坪": "LIJ",
"李旺": "VLJ",
"李石寨": "LET",
"杏树": "XSB",
"杏树屯": "XDT",
"杜尔伯特": "TKX",
"杜桥": "DQU",
"来凤": "LFA",
"来宾": "UBZ",
"来宾北": "UCZ",
"来舟": "LZS",
"杨岗": "YRB",
"杨村": "YBP",
"杨杖子": "YZD",
"杨林": "YLM",
"杨柳青": "YQP",
"杨树岭": "YAD",
"杨桥": "YQA",
"杨源": "AYS",
"杨陵": "YSY",
"杨陵南": "YEY",
"杭州": "HZH",
"杭州东": "HGH",
"杭州南": "XHH",
"杭州西": "HVU",
"杭锦后旗": "HDC",
"松原": "VYT",
"松原北": "OCT",
"松山湖北": "KUQ",
"松树": "SFT",
"松树镇": "SSL",
"松桃": "MZQ",
"松江北": "SAH",
"松江河": "SJL",
"松江镇": "OZL",
"松河": "SBM",
"松溪": "SIS",
"松滋": "SIN",
"松潘": "SOE",
"松阳": "SUU",
"板城": "BUP",
"板塘": "NGQ",
"林东": "LRC",
"林口": "LKB",
"林口南": "LRB",
"林海": "LXX",
"林源": "LYX",
"林盛堡": "LBT",
"林芝": "LZO",
"林西": "LXC",
"果松": "GSL",
"果珠": "GZE",
"枝城": "ZCN",
"枝江北": "ZIN",
"枣庄": "ZEK",
"枣庄东": "ZNK",
"枣庄西": "ZFK",
"枣强": "ZVP",
"枣林": "ZIV",
"枣阳": "ZYN",
"枫林": "FLN",
"柏果": "BGM",
"柘皋": "ZGU",
"柞水": "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",
"桃源": "TYA",
"桐乡": "TCH",
"桐城": "TTH",
"桐城东": "TOU",
"桐城南": "TUU",
"桐庐": "TLU",
"桐庐东": "TBU",
"桐柏": "TBF",
"桐梓东": "TDE",
"桐梓北": "TBE",
"桑园子": "SAJ",
"桑日": "SRO",
"桑根达来": "OGC",
"桑植": "SZA",
"桓台": "VTK",
"桥头": "QAT",
"桥西": "QXJ",
"桦南": "HNB",
"桦南东": "KNB",
"桦林": "HIB",
"梁山": "LMK",
"梁平": "UQW",
"梁平南": "LPE",
"梁底下": "LDP",
"梅州": "MOQ",
"梅州西": "MXA",
"梅河口": "MHL",
"梧州": "WZZ",
"梧州南": "WBZ",
"梨树镇": "LSB",
"棋子湾": "QZQ",
"棕溪": "ZOY",
"楚山": "CSB",
"楚雄": "CUM",
"楠溪江": "NJU",
"榆中": "IZJ",
"榆林": "ALY",
"榆树": "YRT",
"榆树台": "YUT",
"榆树屯": "YSX",
"榆树沟": "YGP",
"榆次": "YCV",
"榆社": "YSV",
"榆社西": "AXV",
"榕江": "RVW",
"槐荫": "IYN",
"樟木头": "ZOQ",
"樟木头东": "ZRQ",
"樟树": "ZSG",
"樟树东": "ZOG",
"横峰": "HFG",
"横店": "HJU",
"横沟桥东": "HNN",
"横琴": "HQA",
"横琴北": "HOA",
"横道河子": "HDB",
"横道河子东": "KUX",
"橄榄坝": "GVM",
"歙县": "OVH",
"歙县北": "NPH",
"正定": "ZDP",
"正定机场": "ZHP",
"正镶白旗": "ZXC",
"步行街": "BWW",
"武义": "RYH",
"武义北": "WDH",
"武乡": "WUV",
"武乡东": "WVV",
"武功": "WGY",
"武夷山": "WAS",
"武夷山北": "WBS",
"武威": "WUJ",
"武威东": "WDJ",
"武威南": "WWJ",
"武安": "WAP",
"武山": "WSJ",
"武平": "WPS",
"武当山": "WRN",
"武当山西": "WWN",
"武昌": "WCN",
"武汉": "WHN",
"武汉东": "LFN",
"武清": "WWP",
"武穴": "WXN",
"武穴北": "WJN",
"武胜": "WSE",
"武进": "WJU",
"武陟": "WIF",
"武隆": "WLW",
"毕节": "BOE",
"毛坝": "MBY",
"毛坝关": "MGY",
"毛陈": "MHN",
"民丰": "MFR",
"民乐": "MBJ",
"民和南": "MNO",
"民权": "MQF",
"民权北": "MIF",
"水土": "SUE",
"水家湖": "SQH",
"水富": "OTW",
"水泉": "SID",
"水洋": "OYP",
"水源": "OYJ",
"水茜": "SSS",
"永丰营": "YYM",
"永乐店": "YDY",
"永仁": "ARM",
"永修": "ACG",
"永城北": "RGH",
"永安": "YAS",
"永安乡": "YNB",
"永安南": "YQS",
"永安镇": "YQZ",
"永定": "YGS",
"永寿": "ASY",
"永寿西": "AUY",
"永川东": "WMW",
"永川南": "YNE",
"永州": "AOQ",
"永平县": "APM",
"永庆": "YQL",
"永康": "RFH",
"永康南": "QUH",
"永春": "ACS",
"永泰": "YTS",
"永济": "YIV",
"永济北": "AJV",
"永清东": "YDI",
"永登": "YDJ",
"永登北": "ABJ",
"永福南": "YBZ",
"汉中": "HOY",
"汉口": "HKN",
"汉寿": "HHA",
"汉寿南": "VSQ",
"汉川": "HCN",
"汉沽": "HGP",
"汉源": "WHW",
"汉阴": "HQY",
"汐子": "XZD",
"汕头": "OTQ",
"汕头南": "SNA",
"汕尾": "OGQ",
"汝州": "ROF",
"汝箕沟": "RQJ",
"汝阳": "RYF",
"江北机场": "JCE",
"江华": "JHZ",
"江宁": "JJH",
"江宁西": "OKH",
"江山": "JUH",
"江所田": "JOM",
"江桥": "JQX",
"江永": "JYZ",
"江油": "JFW",
"江油北": "JBE",
"江津北": "JAE",
"江海": "JNQ",
"江源": "SZL",
"江边村": "JBG",
"江都": "UDH",
"江门": "JOQ",
"江门东": "JWQ",
"江阴": "KYH",
"池州": "IYH",
"汤原": "TYB",
"汤山城": "TCT",
"汤旺河": "THB",
"汤池": "TCX",
"汤逊湖": "THN",
"汤阴": "TYF",
"汨罗": "MLQ",
"汨罗东": "MQQ",
"汪清": "WQL",
"汾河": "FEV",
"汾阳": "FAV",
"沁县": "QVV",
"沁阳": "QYF",
"沂南": "YNK",
"沂水": "YUK",
"沃皮": "WPT",
"沈丘": "SQN",
"沈丘北": "SKF",
"沈家": "OJB",
"沈家河": "OJJ",
"沈阳": "SYT",
"沈阳东": "SDT",
"沈阳北": "SBT",
"沈阳南": "SOT",
"沈阳西": "OOT",
"沙井西": "SJA",
"沙县": "SAS",
"沙坡头": "SFJ",
"沙坪坝": "CYW",
"沙城": "SCP",
"沙岭子": "SLP",
"沙沱": "SFM",
"沙河": "SHP",
"沙河口": "SKT",
"沙河市": "VOP",
"沙湾南": "SWE",
"沙湾市": "SXR",
"沟帮子": "GBD",
"沥林北": "KBQ",
"沧州": "COP",
"沧州西": "CBP",
"沭阳": "FMH",
"河东机场": "HFJ",
"河东里": "KLJ",
"河口北": "HBM",
"河口南": "HKJ",
"河唇": "HCZ",
"河池西": "HIZ",
"河津": "HJV",
"河源": "VIQ",
"河源东": "HEA",
"河源北": "HYA",
"河边": "HBV",
"河间西": "HXP",
"治安": "ZAD",
"治江": "ZIY",
"沿河城": "YHP",
"沿滩": "YTE",
"泉州": "QYS",
"泉州东": "QRS",
"泉州南": "QNS",
"泉港": "QGS",
"泉阳": "QYL",
"泊头": "BZP",
"法启": "FQE",
"泗县": "GPH",
"泗水": "OSK",
"泗水南": "ONK",
"泗洪": "GQH",
"泗阳": "MPH",
"泡子": "POD",
"泥河子": "NHD",
"泥溪": "NIE",
"泰和": "THG",
"泰宁": "TNS",
"泰安": "TMK",
"泰山": "TAK",
"泰州": "UTH",
"泰来": "TLX",
"泸县": "LXE",
"泸州": "LUE",
"泸州东": "UDE",
"泽普": "ZPR",
"泾县": "LOH",
"泾川": "JAJ",
"洋县西": "YXY",
"洋河": "GTH",
"洛川东": "LRY",
"洛浦": "LVR",
"洛湾三江": "KRW",
"洛门": "LMJ",
"洛阳": "LYF",
"洛阳东": "LDF",
"洛阳龙门": "LLF",
"洞井": "FWQ",
"洞口": "DKA",
"洞庙河": "DEP",
"洪梅": "HMA",
"洪河": "HPB",
"洪洞": "HDV",
"洪洞北": "HLV",
"洪洞西": "HTV",
"洮南": "TVT",
"流水沟": "USP",
"济南": "JNK",
"济南东": "MDK",
"济南西": "JGK",
"济宁": "JIK",
"济宁东": "MNK",
"济宁北": "MIK",
"济源": "JYF",
"浠水": "XZN",
"浠水南": "VNN",
"浦江": "PJU",
"浩良河": "HHB",
"浮图峪": "FYP",
"浮山": "FOV",
"浮梁东": "FVG",
"海东": "LVO",
"海东西": "HDO",
"海伦": "HLB",
"海北": "HEB",
"海口": "VUQ",
"海口东": "HMQ",
"海城": "HCT",
"海城西": "HXT",
"海头": "FTQ",
"海宁": "HNH",
"海宁西": "EUH",
"海安": "HIH",
"海拉尔": "HRX",
"海晏": "HFO",
"海林": "HRB",
"海林北": "KBX",
"海湾": "RWH",
"海石湾": "HSO",
"海门": "HMU",
"海阳": "KYK",
"海阳北": "HEK",
"海龙": "HIL",
"涉县": "OEP",
"涞源": "LYP",
"涟水": "LIU",
"涟源": "LAQ",
"涡阳": "GYH",
"涪陵": "FLW",
"涪陵北": "FEW",
"涵江": "HJS",
"涿州": "ZXP",
"涿州东": "ZAP",
"淄博": "ZBK",
"淄博北": "ZRK",
"淮北": "HRH",
"淮北北": "PLH",
"淮南": "HAH",
"淮南东": "HOH",
"淮南南": "HNU",
"淮安": "AUH",
"淮安东": "HAU",
"淮安南": "AMH",
"淮滨": "HVN",
"淮阳南": "HVF",
"深井子": "SWT",
"深圳": "SZQ",
"深圳东": "BJQ",
"深圳北": "IOQ",
"深圳坪山": "IFQ",
"深圳机场": "SCA",
"深圳机场北": "SBA",
"深圳西": "OSQ",
"深州": "OZP",
"清华园": "QHP",
"清原": "QYT",
"清城": "QCA",
"清徐": "QUV",
"清水": "QUJ",
"清水北": "QEJ",
"清水县": "QIJ",
"清河": "QIP",
"清河城": "QYP",
"清河门": "QHD",
"清河门北": "QBD",
"清流": "QLS",
"清涧县": "QNY",
"清远": "QBQ",
"清镇西": "QUE",
"渑池": "MCF",
"渑池南": "MNF",
"渠县": "QRW",
"渠旧": "QJZ",
"渠黎": "QLZ",
"温岭": "VHH",
"温州": "RZH",
"温州北": "URH",
"温州南": "VRH",
"温春": "WDB",
"温江": "WJE",
"渭南": "WNY",
"渭南北": "WBY",
"渭南南": "WVY",
"渭南西": "WXY",
"渭南镇": "WNJ",
"渭津": "WJL",
"渭源": "WEJ",
"湖口": "HKG",
"湖州": "VZH",
"湖潮东": "HCE",
"湘乡": "XXQ",
"湘府路": "FVQ",
"湘潭": "XTQ",
"湘潭北": "EDQ",
"湛江": "ZJZ",
"湛江西": "ZWQ",
"湟源": "HNO",
"湾仔": "WZA",
"湾仔北": "WBA",
"湾沚南": "WNU",
"湾沟": "WGL",
"溆浦": "EPQ",
"溆浦南": "EMQ",
"源潭": "YTQ",
"源迁": "AQK",
"溧水": "LDH",
"溧阳": "LEH",
"溪口": "XKU",
"滁州": "CXH",
"滁州北": "CUH",
"滑浚": "HWF",
"滕州": "TXK",
"滕州东": "TEK",
"满归": "MHX",
"满洲里": "MLX",
"滦县": "UXP",
"滦平": "UPP",
"滦河": "UDP",
"滦河沿": "UNP",
"滨州": "BIK",
"滨江": "BJB",
"滨海": "YKP",
"滨海北": "FCP",
"滨海港": "BGU",
"滨海西": "FHP",
"滴道": "DDB",
"漠河": "MVX",
"漯河": "LON",
"漯河西": "LBN",
"漳县": "ZXJ",
"漳州": "ZUS",
"漳州东": "GOS",
"漳平": "ZPS",
"漳平西": "ZXG",
"漳浦": "ZCS",
"漾濞": "AVM",
"潍坊": "WFK",
"潍坊北": "WJK",
"潘家店": "PDP",
"潜山": "QSU",
"潜江": "QJN",
"潞城": "UTP",
"潢川": "KCN",
"潮南": "CHA",
"潮州": "CKQ",
"潮汕": "CBQ",
"潮阳": "CNQ",
"潼关": "TGY",
"潼南": "TVW",
"澄城": "CUY",
"澧县": "LEQ",
"濑湍": "LVZ",
"濮阳": "PYF",
"濮阳东": "PUF",
"灌云": "GOU",
"灌南": "GIU",
"灌水": "GST",
"灯塔": "DGT",
"灵丘": "LVV",
"灵宝": "LBF",
"灵宝西": "LPF",
"灵武": "LNJ",
"灵武北": "UWJ",
"灵璧": "GMH",
"灵石": "LSV",
"灵石东": "UDV",
"炎陵": "YAG",
"烟台": "YAK",
"烟台南": "YLK",
"烟筒屯": "YUX",
"烟筒山": "YSL",
"焉耆": "YSR",
"焦作": "JOF",
"焦作东": "WEF",
"焦作西": "JIF",
"照福铺": "ZFM",
"熊岳城": "XYT",
"燕子砭": "YZY",
"燕家庄": "AZK",
"燕山": "AOP",
"燕岗": "YGW",
"燕郊": "AJP",
"牙克石": "YKX",
"牙屯堡": "YTZ",
"牛家": "NJB",
"牛栏山": "NLP",
"牛河梁": "LKT",
"牛车河": "NHA",
"牟平": "MBK",
"牡丹江": "MDB",
"犀浦": "XIW",
"犀浦东": "XAW",
"犍为": "JWE",
"独山": "RWW",
"独山东": "DDE",
"独立屯": "DTX",
"狮山": "KSQ",
"狮山北": "NSQ",
"狮岭": "SLA",
"狼尾山": "LRJ",
"猛洞河": "MUQ",
"玉屏": "YZW",
"玉山": "YNG",
"玉山南": "YGG",
"玉林": "YLZ",
"玉泉": "YQB",
"玉泉镇": "YFR",
"玉溪": "AXM",
"玉田南": "YTI",
"玉田县": "ATP",
"玉石": "YSJ",
"玉舍": "AUM",
"玉门": "YXJ",
"王兆屯": "WZB",
"王团庄": "WZJ",
"王安镇": "WVP",
"王家湾": "WJJ",
"王岗": "WGB",
"王府": "WUT",
"王杨": "WYB",
"王瞳": "WTP",
"玛纳斯": "MSR",
"玛纳斯湖": "MNR",
"环县": "KXJ",
"环江": "HFZ",
"珞璜东": "LHE",
"珞璜南": "LNE",
"珠斯花": "ZHD",
"珠海": "ZHQ",
"珠海北": "ZIQ",
"珠海机场": "ZJA",
"珠海长隆": "ZLA",
"珠琳": "ZOM",
"珠窝": "ZOP",
"班猫箐": "BNM",
"珲春": "HUL",
"琅勃拉邦": "VJM",
"琼海": "QYQ",
"瑞安": "RAH",
"瑞昌": "RCG",
"瑞昌西": "RXG",
"瑞金": "RJG",
"璧山": "FZW",
"瓜州": "GZJ",
"瓦屋山": "WAH",
"瓦房店": "WDT",
"瓦房店西": "WXT",
"瓦拉干": "WVX",
"瓦石峡": "WHR",
"瓦窑田": "WIM",
"甘旗卡": "GQD",
"甘河": "GAX",
"甘泉": "GQY",
"甘泉北": "GEY",
"甘洛南": "GNE",
"甘草店": "GDJ",
"甘谷": "GGJ",
"甜水堡": "TUJ",
"田东": "TDZ",
"田东北": "TBZ",
"田师府": "TFT",
"田心东": "KQQ",
"田林": "TFZ",
"田阳": "TRZ",
"甲山": "JOP",
"电白": "NWQ",
"甸心": "DXM",
"界首南": "JKU",
"界首市": "JUN",
"略阳": "LYY",
"番禺": "PYA",
"畲江北": "SOA",
"疏勒": "SUR",
"疏勒河": "SHJ",
"登沙河": "DWT",
"白云北": "BVE",
"白云机场北": "BBA",
"白云西": "BXE",
"白云鄂博": "BEC",
"白城": "BCT",
"白壁关": "BGV",
"白奎堡": "BKB",
"白山市": "HJL",
"白文东": "BCV",
"白旗": "BQP",
"白水县": "BGY",
"白水江": "BSY",
"白水镇": "BUM",
"白沙坡": "BPM",
"白沙铺": "BSN",
"白沟": "FEP",
"白河": "BEL",
"白河东": "BIY",
"白河县": "BEY",
"白泉": "BQL",
"白洋淀": "FWP",
"白涧": "BAP",
"白狼": "BAT",
"白石山": "BAL",
"白芨沟": "BJJ",
"白银南": "BVJ",
"白银市": "BNJ",
"白银西": "BXJ",
"白音他拉": "BID",
"白音华南": "BOD",
"白音察干": "BYC",
"白音胡硕": "BCD",
"白马井": "BFQ",
"白马北": "BME",
"白鸡坡": "BBM",
"百宜": "FHW",
"百浪": "BRZ",
"百色": "BIZ",
"百里峡": "AAP",
"皇姑屯": "HTT",
"皋兰": "GEJ",
"皮口": "PUT",
"皮口南": "PKT",
"皮山": "PSR",
"益阳": "AEQ",
"益阳南": "YAA",
"盐城": "AFH",
"盐城北": "AEH",
"盐城大丰": "YFU",
"盐池": "YKJ",
"盐边": "YBE",
"盖州": "GXT",
"盖州西": "GAT",
"盘关": "PAM",
"盘山": "PUD",
"盘州": "PAE",
"盘锦": "PVD",
"盘锦北": "PBD",
"盘龙城": "PNN",
"眉县东": "CXY",
"眉山": "MSW",
"眉山东": "IUW",
"睢宁": "SNU",
"石人城": "SRB",
"石嘴山南": "QQJ",
"石坝": "OBJ",
"石城": "SCT",
"石城东": "SDG",
"石头": "OTB",
"石家庄": "SJP",
"石家庄东": "SXP",
"石家庄北": "VVP",
"石岘": "SXL",
"石岭": "SOL",
"石峡子": "SXJ",
"石景山南": "SRP",
"石林": "SLM",
"石林西": "SYM",
"石柱县": "OSW",
"石桥": "SQE",
"石桥子": "SQT",
"石梯": "STE",
"石楼县": "STV",
"石河子": "SZR",
"石泉县": "SXY",
"石牌": "SPQ",
"石磷": "SPB",
"石门县": "OMQ",
"石门县北": "VFQ",
"石龙": "SLQ",
"砀山": "DKH",
"砀山南": "PRH",
"砚川": "YYY",
"确山": "QSN",
"碧江": "BLQ",
"碱厂": "JUT",
"碾子山": "NZX",
"磁县": "CIP",
"磁山": "CSP",
"磁窑": "CYK",
"磁西": "CRP",
"磐安": "PAU",
"磐安南": "PNU",
"磐安镇": "PAJ",
"磐石": "PSL",
"磨丁": "VBM",
"磨刀石": "MOB",
"磨憨": "MHM",
"礼乐": "UEQ",
"礼泉": "LGY",
"礼泉南": "UNY",
"祁东": "QMQ",
"祁东北": "QRQ",
"祁县": "QXV",
"祁县东": "QGV",
"祁家堡": "QBT",
"祁门": "QIH",
"祁门南": "QNU",
"祁阳": "QWQ",
"祁阳北": "QVQ",
"神农架": "SMN",
"神头": "SEV",
"神州": "SRQ",
"神木": "HMY",
"神木南": "OMY",
"神木西": "OUY",
"神树": "SWB",
"神池": "SMV",
"祥云": "XQM",
"禄丰南": "LQM",
"福利区": "FLJ",
"福利屯": "FTB",
"福安": "FAS",
"福山北": "YTK",
"福山口": "FKP",
"福山镇": "FZQ",
"福州": "FZS",
"福州南": "FYS",
"福泉": "VMW",
"福海": "FHR",
"福海西": "FHA",
"福清": "FQS",
"福清西": "FVS",
"福田": "NZQ",
"福鼎": "FES",
"禹城": "YCK",
"禹城东": "YSK",
"禹州": "YZF",
"离堆公园": "INW",
"秀山": "ETW",
"秀英": "XYA",
"秦安": "QGJ",
"秦家": "QJB",
"秦家庄": "QZV",
"秦岭": "QLY",
"秦王川": "QWJ",
"秦皇岛": "QTP",
"秧草地": "YKM",
"稷山": "JVV",
"穆棱": "MLB",
"窑上": "ASP",
"立志": "LZX",
"章丘": "ZTK",
"章丘北": "ZVK",
"章丘南": "VQK",
"章党": "ZHT",
"章古台": "ZGD",
"端州": "WZQ",
"竹园": "ZUM",
"笔架山": "BSB",
"策勒": "CLR",
"简阳南": "JOW",
"米兰": "MIR",
"米易东": "MDE",
"米林": "MIO",
"米沙子": "MST",
"米脂": "MEY",
"精河": "JHR",
"精河南": "JIR",
"索伦": "SNT",
"索图罕": "SHX",
"紫荆关": "ZYP",
"紫阳": "ZVY",
"綦江东": "QDE",
"繁峙": "FSV",
"繁昌西": "PUH",
"红光镇": "IGW",
"红兴隆": "VHB",
"红安": "HWN",
"红安西": "VXN",
"红寺堡": "HSJ",
"红寺堡北": "HEJ",
"红山": "VSB",
"红岘台": "HTJ",
"红岛": "HQK",
"红彦": "VIX",
"红旗渠": "HQF",
"红星": "VXB",
"红果": "HEM",
"红河": "HHM",
"红砂岘": "VSJ",
"红花沟": "VHD",
"纪家沟": "VJD",
"纳雍": "NYE",
"纸坊东": "ZMN",
"织金": "IZW",
"织金北": "ZJE",
"绍兴": "SOH",
"绍兴东": "SSH",
"绍兴北": "SLH",
"经棚": "JPC",
"绕阳河": "RHD",
"绛帐": "JZY",
"统军庄": "TZP",
"统景": "TOE",
"绥中": "SZD",
"绥中北": "SND",
"绥化": "SHB",
"绥德": "ODY",
"绥棱": "SIB",
"绥芬河": "SFB",
"绥阳": "SYB",
"绩溪北": "NRH",
"绩溪县": "JRH",
"绵竹南": "MNE",
"绵阳": "MYW",
"绿化": "LWJ",
"绿博园": "LCF",
"缙云": "JYH",
"缙云西": "PYH",
"罗城": "VCZ",
"罗山": "LRN",
"罗平": "LPM",
"罗江": "LJW",
"罗江东": "IKW",
"罗浮山": "LVA",
"罗源": "LVS",
"羊堡": "ABM",
"羊尾哨": "YWM",
"羊者窝": "AEM",
"羊臼河": "YHM",
"羊草": "YAB",
"羊马": "YME",
"美兰": "MHQ",
"美溪": "MEB",
"翠亨": "IHQ",
"翠屏": "YBW",
"耀州": "YOY",
"老城镇": "ACQ",
"老府": "UFD",
"老挝": "V",
"老莱": "LAX",
"老边": "LLT",
"耒阳": "LYQ",
"耒阳西": "LPQ",
"聊城": "UCK",
"聊城西": "VXK",
"肃北": "SBJ",
"肃宁": "SYP",
"肃州": "SRJ",
"肇东": "ZDB",
"肇庆": "ZVQ",
"肇庆东": "FCQ",
"肥东": "FIH",
"肥西": "FAH",
"背荫河": "BYB",
"胜利镇": "OLB",
"胜芳": "SUP",
"胶州": "JXK",
"胶州北": "JZK",
"能家": "NJD",
"自贡": "ZGE",
"自贡北": "ZGW",
"舍力虎": "VLD",
"舒兰": "SLL",
"舒城": "OCH",
"舒城东": "SDU",
"良乡": "LAP",
"良各庄": "LGP",
"艾家村": "AJJ",
"艾河": "AHP",
"芙蓉南": "KCQ",
"芙蓉镇": "FRA",
"芜湖": "WHH",
"芜湖北": "WBU",
"芜湖南": "RVH",
"芦台": "LTP",
"芦官": "LAE",
"芦庙": "LMU",
"芦沟": "LOM",
"芦溪": "LUG",
"芦潮港": "UCH",
"芨岭": "JLJ",
"花博山": "KBT",
"花园": "HUN",
"花园口": "HYT",
"花城街": "HCA",
"花家庄": "HJM",
"花山南": "KNN",
"花山镇": "HZA",
"花桥": "VQH",
"花棚子": "HZM",
"花湖": "KHN",
"花溪南": "HNE",
"花溪大学城": "HDE",
"花溪西": "HUE",
"花都": "HAA",
"芷江": "ZPQ",
"苇子沟": "WZL",
"苇河": "WHB",
"苇河西": "WIB",
"苍南": "CEH",
"苍溪": "CXE",
"苍石": "CST",
"苏家屯": "SXT",
"苏尼特左旗": "ONC",
"苏州": "SZH",
"苏州北": "OHH",
"苏州园区": "KAH",
"苏州新区": "ITH",
"若羌": "RQR",
"英吉沙": "YIR",
"英库勒": "YLR",
"英德": "YDQ",
"英德西": "IIQ",
"茂县": "MXE",
"茂名": "MDQ",
"茂名西": "MMZ",
"茂林": "MLD",
"茂舍祖": "MOM",
"范家屯": "FTT",
"范镇": "VZK",
"茅岭": "MLZ",
"茅草坪": "KPM",
"茌平": "CHK",
"茌平南": "CPK",
"茫崖": "HTO",
"茶卡": "CVO",
"茶陵": "CDG",
"茶陵南": "CNG",
"荆州": "JBN",
"荆门": "JMN",
"草市": "CSL",
"草河口": "CKT",
"草海": "WBW",
"荔波": "UBE",
"荣成": "RCK",
"荣昌北": "RQW",
"荷塘": "KXQ",
"莆田": "PTS",
"莎车": "SCR",
"莒南": "JOK",
"莒南北": "VNK",
"莒县": "JKK",
"莘县": "SNK",
"莫尔道嘎": "MRX",
"莱芜东": "LWK",
"莱芜北": "VIK",
"莱芜西": "UXK",
"莱西": "LBK",
"莱西南": "LXK",
"莱阳": "LYK",
"莱阳南": "VEK",
"莲江口": "LHB",
"获嘉": "HJF",
"菏泽": "HIK",
"菏泽东": "KDK",
"萍乡": "PXG",
"萍乡北": "PBG",
"营口": "YKT",
"营口东": "YGT",
"营城子": "YCT",
"营山": "NUW",
"营盘水": "YZJ",
"营街": "YAM",
"萧县": "EOH",
"萧县北": "QSH",
"萨拉齐": "SLC",
"落坡岭": "LPP",
"落垡": "LOP",
"葛店南": "GNN",
"葛根庙": "GGT",
"葡萄菁": "PTW",
"董家口": "DTK",
"葫芦岛": "HLD",
"葫芦岛北": "HPD",
"葵潭": "KTQ",
"蒙山": "MOK",
"蒙自": "MZM",
"蒲县": "PXV",
"蒲城": "PCY",
"蒲城东": "PEY",
"蒲江": "PJE",
"蒲石": "PSY",
"蓝村": "LCK",
"蓟州": "JIP",
"蓟州北": "JKP",
"蓬安": "PAW",
"蓬安西": "PXE",
"蓬溪": "KZW",
"蓬莱": "POK",
"蔡家坡": "CJY",
"蔡家崖": "EBV",
"蔡家沟": "CJT",
"蔡山": "CON",
"蔺家楼": "ULK",
"蕲春": "QRN",
"蕲春南": "QCN",
"藁城": "GEP",
"藁城南": "GUP",
"藤县": "TAZ",
"虎什哈": "HHP",
"虎林": "VLB",
"虎门": "IUQ",
"虎门东": "HDA",
"虎门北": "HBA",
"虞城县": "IXH",
"虢镇": "GZY",
"蚌埠": "BBH",
"蚌埠南": "BMH",
"蛟河": "JHL",
"蛟河西": "JOL",
"蛟洋": "JBS",
"蜀山东": "HTH",
"蜀河": "SHY",
"融安": "RAZ",
"融水": "RSZ",
"衡南": "HNG",
"衡山": "HSQ",
"衡山西": "HEQ",
"衡水": "HSP",
"衡水北": "IHP",
"衡阳": "HYQ",
"衡阳东": "HVQ",
"衢州": "QEH",
"裴德": "PDB",
"褚家湾": "CWJ",
"襄垣": "EIF",
"襄垣东": "EAF",
"襄州": "XWN",
"襄汾": "XFV",
"襄汾西": "XTV",
"襄河": "XXB",
"襄阳": "XFN",
"襄阳东": "EKN",
"西丰": "XFT",
"西乌旗": "XWD",
"西乡": "XQY",
"西八里": "XLP",
"西华": "EHF",
"西双版纳": "ENM",
"西哲里木": "XRD",
"西固": "XIJ",
"西固城": "XUJ",
"西大庙": "XMP",
"西宁": "XNO",
"西安": "XAY",
"西安北": "EAY",
"西安西": "EGY",
"西小召": "XZC",
"西岗子": "NBB",
"西峡": "XIF",
"西平": "XPN",
"西平西": "EGQ",
"西昌": "ECW",
"西昌西": "XCE",
"西来": "XLE",
"西林": "XYB",
"西柳": "GCT",
"西渡": "XDA",
"西湖东": "WDQ",
"西街口": "EKM",
"西阳村": "XQF",
"西麻山": "XMB",
"观沙岭": "FKQ",
"观音机场": "GCU",
"角美": "JES",
"讷河": "NHX",
"许三湾": "XSJ",
"许家台": "XTJ",
"许家屯": "XJT",
"许昌": "XCF",
"许昌东": "XVF",
"许昌北": "EBF",
"诏安": "ZDS",
"诸城": "ZQK",
"诸暨": "ZDH",
"读书铺": "DPM",
"谢家镇": "XMT",
"谭家井": "TNJ",
"谷城": "GCN",
"谷城北": "GBN",
"谷山": "FFQ",
"豆庄": "ROP",
"豆张庄": "RZP",
"豆罗": "DLV",
"贡嘎": "GGO",
"贵安": "GAE",
"贵定": "GTW",
"贵定北": "FMW",
"贵定县": "KIW",
"贵港": "GGZ",
"贵溪": "GXG",
"贵阳": "GIW",
"贵阳东": "KEW",
"贵阳北": "KQW",
"费县": "FXK",
"费县北": "FBK",
"贺家店": "HJJ",
"贺州": "HXZ",
"贺胜桥东": "HLN",
"贾鲁河": "JLF",
"资中北": "WZW",
"资中西": "ZZE",
"资溪": "ZXS",
"资阳北": "FYW",
"资阳西": "ZIE",
"赛汗塔拉": "SHC",
"赣县北": "GIG",
"赣州": "GZG",
"赣州西": "GOG",
"赣榆": "GYU",
"赤壁": "CBN",
"赤壁北": "CIN",
"赤峰": "CID",
"赤峰南": "CFD",
"赵光": "ZGB",
"赵城": "ZCV",
"赶水东": "GDE",
"超梁沟": "CYP",
"越西": "YIE",
"路口铺": "LKQ",
"车转湾": "CWM",
"轩岗": "XGV",
"轮台": "LAR",
"辛集": "ENP",
"辛集南": "IJP",
"辰清": "CQB",
"辰溪": "CXQ",
"辽中": "LZD",
"辽宁朝阳": "VET",
"辽源": "LYL",
"辽阳": "LYT",
"达坂城": "DCR",
"达家沟": "DJT",
"达州": "RXW",
"达拉特旗": "DIC",
"达拉特西": "DNC",
"达连河": "DCB",
"迁安": "QQP",
"迎宾路": "YFW",
"迎春": "YYB",
"迎龙": "YVE",
"运城": "YNV",
"运城北": "ABV",
"运粮河": "YEF",
"近海": "JHD",
"进贤": "JUG",
"进贤北": "JHG",
"进贤南": "JXG",
"连云港": "UIH",
"连云港东": "UKH",
"连山关": "LGT",
"连江": "LKS",
"迤资": "YQM",
"通化": "THL",
"通化县": "TXL",
"通北": "TBB",
"通安驿": "TAJ",
"通州": "TOP",
"通州西": "TAP",
"通榆": "KTT",
"通海": "TAM",
"通渭": "TWJ",
"通辽": "TLD",
"通远堡": "TYT",
"通远堡西": "TST",
"通途": "TUT",
"通道": "TRQ",
"遂宁": "NIW",
"遂平": "SON",
"遂昌": "SCU",
"遂溪": "SXZ",
"道州": "DFZ",
"道滘": "RRQ",
"遵义": "ZYE",
"遵义南": "ZNE",
"遵义西": "ZIW",
"邓州": "DOF",
"邓州东": "DDF",
"邛崃": "QLE",
"邢台": "XTP",
"邢台东": "EDP",
"那曲": "NQO",
"那罗": "ULZ",
"那铺": "NPZ",
"邯郸": "HDP",
"邯郸东": "HPP",
"邳州": "PJH",
"邳州东": "PIU",
"邵东": "FIQ",
"邵家堂": "SJJ",
"邵武": "SWS",
"邵阳": "SYQ",
"邵阳北": "OVQ",
"邵阳西": "SXA",
"邹城": "ZIK",
"邹平": "ZLK",
"郁南": "YKQ",
"郎溪南": "LXU",
"郏县": "JXF",
"郑州": "ZZF",
"郑州东": "ZAF",
"郑州航空港": "ZIF",
"郑州西": "XPF",
"郓城": "YPK",
"郫县": "PWW",
"郫县西": "PCW",
"郭家店": "GDT",
"郭磊庄": "GLP",
"郯城": "TZK",
"郴州": "CZQ",
"郴州西": "ICQ",
"都匀": "RYW",
"都匀东": "KJW",
"都安": "RUZ",
"都昌": "DCG",
"都格": "DMM",
"都江堰": "DDW",
"鄂尔多斯": "EEC",
"鄂州": "ECN",
"鄂州东": "EFN",
"鄄城": "JCK",
"鄠邑": "KXY",
"鄢陵": "YIF",
"鄯善": "SSR",
"鄯善北": "SMR",
"鄱阳": "POG",
"鄱阳北": "PYG",
"酉阳": "AFW",
"酒泉": "JQJ",
"酒泉南": "JNJ",
"醴陵": "LLG",
"醴陵东": "UKQ",
"里木店": "LMB",
"重庆": "CQW",
"重庆北": "CUW",
"重庆南": "CRW",
"重庆西": "CXW",
"野三关": "BNN",
"野三坡": "AIP",
"野象谷": "AGM",
"金华": "JBH",
"金华南": "RNH",
"金华镇": "JZE",
"金口河南": "JHE",
"金坛": "JTU",
"金城江": "JJZ",
"金塔": "JIJ",
"金宝屯": "JBD",
"金寨": "JZH",
"金山": "JSR",
"金山北": "EGH",
"金山屯": "JTB",
"金州": "JZT",
"金昌": "JCJ",
"金普": "PWT",
"金月湾": "PYQ",
"金杖子": "JYD",
"金沟屯": "VGP",
"金河": "JHX",
"金银潭": "JTN",
"金阳": "JYE",
"金阳南": "JNE",
"金马村": "JMM",
"钟家村": "ZJY",
"钟山": "ZSZ",
"钟山西": "ZAZ",
"钟祥": "ZTN",
"钢城": "GAK",
"钦州": "QRZ",
"钦州东": "QDZ",
"铁刹山": "PST",
"铁力": "TLB",
"铁厂": "TCL",
"铁厂沟": "TJR",
"铁岭": "TLT",
"铁岭西": "PXT",
"铁干里克": "VAR",
"铁门关": "XAR",
"铜仁": "RDQ",
"铜仁南": "TNW",
"铜川东": "TCY",
"铜陵": "TJH",
"铜陵北": "KXH",
"银川": "YIJ",
"银浪": "YJX",
"银滩": "CTQ",
"银瓶": "KPQ",
"银盏": "YZA",
"银花": "YWE",
"锡林浩特": "XTC",
"锦州": "JZD",
"锦州北": "JFT",
"锦州南": "JOD",
"锦河": "JHB",
"锦界": "JEY",
"镇城底": "ZDV",
"镇安": "ZEY",
"镇平": "ZPF",
"镇江": "ZJH",
"镇江关": "ZEE",
"镇江南": "ZEH",
"镇西": "ZVT",
"镇赉": "ZLT",
"镇远": "ZUW",
"镇雄": "ZXE",
"镜铁山": "JVJ",
"长临河": "FVH",
"长乐": "CAS",
"长乐东": "CIS",
"长乐南": "CVS",
"长兴": "CBH",
"长兴南": "CFH",
"长农": "CNJ",
"长坡岭": "CPM",
"长垣": "CYF",
"长城": "CEJ",
"长宁": "CNE",
"长安": "CAA",
"长安西": "CXA",
"长寿": "EFW",
"长寿北": "COW",
"长寿湖": "CSE",
"长山屯": "CVT",
"长岭子": "CLT",
"长庆桥": "CQJ",
"长征": "CZJ",
"长春": "CCT",
"长春南": "CET",
"长春西": "CRT",
"长武": "CWY",
"长汀": "CES",
"长汀南": "CNS",
"长汀镇": "CDB",
"长沙": "CSQ",
"长沙南": "CWQ",
"长沙西": "RXQ",
"长治": "CZF",
"长治东": "CUF",
"长治北": "CBF",
"长治南": "CAF",
"长流": "CLA",
"长清": "CNK",
"长白山": "CUL",
"长箐": "CQE",
"长葛": "CEF",
"长葛北": "CGF",
"长阳": "CYN",
"门源": "MYO",
"闵集": "MJN",
"闻喜": "WXV",
"闻喜西": "WOV",
"闽清": "MQS",
"闽清北": "MBS",
"阆中": "LZE",
"阎良": "YNY",
"阜南": "FNH",
"阜宁": "AKH",
"阜宁东": "FDU",
"阜宁南": "FNU",
"阜新": "FOT",
"阜新南": "FXD",
"阜阳": "FYH",
"阜阳西": "FXU",
"防城港北": "FBZ",
"阳东": "WLQ",
"阳信": "YVK",
"阳城": "YNF",
"阳岔": "YAL",
"阳平关": "YAY",
"阳新": "YON",
"阳明堡": "YVV",
"阳春": "YQQ",
"阳曲": "YQV",
"阳曲西": "IQV",
"阳朔": "YCZ",
"阳江": "WRQ",
"阳泉": "AQP",
"阳泉东": "AYP",
"阳泉北": "YPP",
"阳泉曲": "YYV",
"阳澄湖": "AIH",
"阳西": "WMQ",
"阳谷": "YIK",
"阳邑": "ARP",
"阳高": "YOV",
"阳高南": "AGV",
"阿克塞": "AKJ",
"阿克苏": "ASR",
"阿克陶": "AER",
"阿勒泰": "AUR",
"阿南庄": "AZM",
"阿图什": "ATR",
"阿城": "ACB",
"阿城北": "ABB",
"阿尔山": "ART",
"阿尔山北": "ARX",
"阿巴嘎旗": "AQC",
"阿拉尔": "AOR",
"阿拉山口": "AKR",
"阿木尔": "JTX",
"阿瓦提": "AWR",
"阿里河": "AHX",
"阿金": "AJD",
"阿龙山": "ASX",
"陆丰": "LLQ",
"陆丰东": "LDA",
"陆丰南": "LAA",
"陆川": "LKZ",
"陆良": "LRM",
"陇南": "INJ",
"陇县": "LXY",
"陇西": "LXJ",
"陈官营": "CAJ",
"陈庄": "CZY",
"陈村": "CVA",
"陈江南": "KKQ",
"陈相屯": "CXT",
"陵城": "LGK",
"陵水": "LIQ",
"陶家屯": "TOT",
"陶赖昭": "TPT",
"隆化": "UHP",
"隆回": "LHA",
"隆安东": "IDZ",
"隆昌": "LCW",
"隆昌北": "NWW",
"随县": "OVN",
"随州": "SZN",
"随州南": "ONN",
"隰县": "EAV",
"雁栖湖": "FGP",
"雁石南": "YMS",
"雁翅": "YAP",
"雁荡山": "YGH",
"雄安": "IQP",
"雅安": "YAE",
"集宁南": "JAC",
"集安": "JAL",
"雨格": "VTM",
"雪野": "XYK",
"零陵": "UWZ",
"雷州": "UAQ",
"霍城": "SER",
"霍尔果斯": "HFR",
"霍州": "HZV",
"霍州东": "HWV",
"霍林郭勒": "HWD",
"霍邱": "FBH",
"霞浦": "XOS",
"露水河": "LUL",
"霸州": "RMP",
"霸州北": "VPP",
"霸州西": "FOP",
"青县": "QXP",
"青城山": "QSW",
"青堆": "QET",
"青山": "QSB",
"青岛": "QDK",
"青岛北": "QHK",
"青岛机场": "QJK",
"青岛西": "QUK",
"青川": "QCE",
"青州市": "QZK",
"青州市北": "QOK",
"青田": "QVH",
"青白江东": "QFW",
"青神": "QVW",
"青莲": "QEW",
"青铜峡": "QTJ",
"青龙": "QIB",
"青龙山": "QGH",
"靖宇": "JYL",
"靖州": "JEQ",
"靖西": "JMZ",
"靖边": "JIY",
"靖远": "JYJ",
"靖远北": "JOJ",
"靖远西": "JXJ",
"静海": "JHP",
"革居": "GEM",
"鞍山": "AST",
"鞍山西": "AXT",
"韦庄": "WZY",
"韩城": "HCY",
"韩府湾": "HXJ",
"韩麻营": "HYP",
"韶关": "SNQ",
"韶关东": "SGQ",
"韶山": "SSQ",
"韶山南": "INQ",
"项城": "ERN",
"顺义": "SOP",
"顺义西": "IKP",
"顺德": "ORQ",
"顺德北": "SVA",
"顺德学院": "OJQ",
"顺昌": "SCS",
"颍上": "YVH",
"颍上北": "YBU",
"额敏": "EMR",
"额济纳": "EJC",
"风陵渡": "FLV",
"饶平": "RVQ",
"饶阳": "RVP",
"香兰": "XNB",
"香坊": "XFB",
"香格里拉": "EUM",
"香樟路": "FNQ",
"香河": "XHI",
"香港西九龙": "XJA",
"马三家": "MJT",
"马兰": "MLR",
"马山县": "MAZ",
"马桥河": "MQB",
"马皇": "MHZ",
"马莲河": "MHB",
"马踏": "PWQ",
"马鞍": "MAE",
"马鞍山": "MAH",
"马鞍山东": "OMH",
"马龙": "MGM",
"驻马店": "ZDN",
"驻马店西": "ZLN",
"驼腰岭": "TIL",
"骆驼巷": "LTJ",
"高兴": "VWW",
"高台": "GTJ",
"高台南": "GAJ",
"高各庄": "GGP",
"高坪": "GGN",
"高安": "GCG",
"高密": "GMK",
"高密北": "GVK",
"高山子": "GSD",
"高川": "GCE",
"高州": "GSQ",
"高平": "GPF",
"高平东": "GVF",
"高村": "GCV",
"高桥镇": "GZD",
"高楞": "GLB",
"高滩": "GAY",
"高碑店": "GBP",
"高碑店东": "GMP",
"高花": "HGD",
"高邑": "GIP",
"高邑西": "GNP",
"高邮": "GAU",
"高邮北": "GEU",
"魏善庄": "WSP",
"魏家泉": "WJR",
"魏杖子": "WKD",
"鲁山": "LAF",
"鲁番": "LVM",
"鲅鱼圈": "BYT",
"鲘门": "KMQ",
"鸡东": "JOB",
"鸡西": "JXB",
"鸡西西": "JAB",
"鸳鸯镇": "YYJ",
"鹤北": "HMB",
"鹤壁": "HAF",
"鹤壁东": "HFF",
"鹤岗": "HGB",
"鹤庆": "HQM",
"鹤立": "HOB",
"鹰手营子": "YIP",
"鹰潭": "YTG",
"鹰潭北": "YKG",
"鹿寨": "LIZ",
"鹿寨北": "LSZ",
"鹿道": "LDL",
"麓谷": "BNQ",
"麦园": "MYS",
"麻城": "MCN",
"麻城北": "MBN",
"麻尾": "VAW",
"麻山": "MAB",
"麻柳": "MLY",
"麻涌": "MIA",
"麻阳": "MVQ",
"麻阳西": "MYA",
"黄冈": "KGN",
"黄冈东": "KAN",
"黄冈西": "KXN",
"黄口": "KOH",
"黄土店": "HKP",
"黄山": "HKH",
"黄山北": "NYH",
"黄山西": "HWU",
"黄州": "VON",
"黄村": "HCP",
"黄松甸": "HDL",
"黄柏": "HBL",
"黄桶北": "HBE",
"黄梅": "VEH",
"黄梅东": "HDU",
"黄水": "SZE",
"黄河景区": "HCF",
"黄泥河": "HHL",
"黄流": "KLQ",
"黄石": "HSN",
"黄石东": "OSN",
"黄石北": "KSN",
"黄羊滩": "HGJ",
"黄羊镇": "HYJ",
"黄胜关": "HGE",
"黄花筒": "HUD",
"黄陵": "ULY",
"黄陵南": "VLY",
"黄龙九寨": "HIE",
"黎城": "UCP",
"黎塘": "LTZ",
"黑井": "HIM",
"黑冲滩": "HCJ",
"黑台": "HQB",
"黑山北": "HQT",
"黑山寺": "HVP",
"黑旺": "HWK",
"黑水": "HOT",
"黑河": "HJB",
"黔江": "QNW",
"黔西": "QXE",
"黟县东": "YIU",
"鼎湖东": "UWQ",
"鼎湖山": "NVQ",
"齐河": "QIK",
"齐齐哈尔": "QHX",
"齐齐哈尔南": "QNB",
"龙丰": "KFQ",
"龙井": "LJL",
"龙兴": "LIE",
"龙华": "LHP",
"龙南": "UNG",
"龙南东": "LBG",
"龙口市": "UKK",
"龙嘉": "UJL",
"龙塘坝": "LBM",
"龙塘镇": "LVB",
"龙山北": "LBA",
"龙山镇": "LAS",
"龙岩": "LYS",
"龙川": "LUQ",
"龙川西": "LCA",
"龙市": "LAG",
"龙桥": "LQU",
"龙江": "LJX",
"龙沟": "LGJ",
"龙泉寺": "UQJ",
"龙泉市": "LVU",
"龙洞堡": "FVW",
"龙游": "LMH",
"龙游南": "LYU",
"龙里北": "KFW",
"龙镇": "LZA",
"龙骨甸": "LGM"
}