招商銀行(China Merchants Bank, CMB)作為中國領先的股份制商業銀行,始終堅持“以客戶為中心”的服務理念,致力于為個人客戶、企業客戶及機構客戶提供專業、高效、便捷的綜合金融服務。依托“輕型銀行”戰略與“金融科技銀行”建設,招商銀行持續推進線上線下融合的服務模式,構建起覆蓋全國主要城市、輻射重點縣域的現代化金融服務網絡,形成以總分行統籌管理為基礎、營業網點為核心、智能設備與移動端平臺為延伸的立體化服務體系。
營業網點作為招商銀行線下服務的重要支點,不僅是辦理存取款、理財、貸款、跨境金融等核心業務的關鍵場所,更是傳遞品牌價值、推廣財富管理產品、開展客戶陪伴式服務與提供專業金融咨詢的綜合體驗空間。各營業網點遵循統一的服務標準與品牌形象規范,注重服務環境的私密性、舒適性與科技感,廣泛部署智能柜員機、VTM遠程柜員終端、智能排隊系統等數字化設備,積極打造“智慧網點”,持續提升服務效率與客戶滿意度。
本文將探討如何通過程序化方式,利用 GET 請求調用公開接口,從招商銀行相關服務平臺獲取營業網點分布數據。通過 Python 的 requests 庫發送 HTTP 請求,解析返回的 JSON 結構化數據,提取網點名稱、所屬城市、行政區劃、詳細地址、營業時間、服務功能及地理坐標等關鍵字段,實現對網點信息的自動化采集。該數據可廣泛應用于分析招商銀行的區域布局策略、渠道覆蓋密度、重點經濟圈服務滲透率以及城鄉金融服務可及性等課題,為金融地理研究、銀行網點優化布局、商業選址分析及智慧城市建設提供有力的數據支持。
招商銀行網點查詢網址:招商銀行 -- 網點地圖
首先,我們找到門店數據的存儲位置,然后看3個關鍵部分標頭、負載、?預覽;
標頭:通常包括URL的連接,也就是目標資源的位置;
負載:對于GET請求:負載通常包含了傳遞的參數,有些網頁負載可能為空,或者沒有負載,因為所有參數都通過URL傳遞,這里我們可以看到cityname(城市名稱),type(查詢類型),沒有進行加密;
預覽:指的是對響應內容的快速查看或摘要顯示,可以幫助用戶快速了解返回的數據結構或內容片段,我們可以看到數據在list里;
接下來就是數據獲取部分,先講一下方法思路,一共三個步驟;
方法思路
- 找到對應數據存儲位置,獲取地級行政區表數據;
- 我們通過requests庫發送HTTP請求,來遍歷全國網點的標簽數據;
- 地理編碼→地址轉經緯度,再通過coord-convert庫實現BD09轉WGS84;
首先,我們觀察到它的查詢方式依然是通過不同行政區層級進行網點查詢,那我們直接在"Fetch/XHR"先找到對應數據存儲位置, 我們可以看到響應請求包含地級行政區、查詢類型等對應內容的響應請求,另外,根據上面負載的內容,我們可以知道,數據是直接通過行政區名稱進行傳遞的;
因為網點查詢頁面的負載包括地級行政區名稱,所以我們通過修改行政區名稱來進行數據獲取,為了方便我們可以建立一個包含地級行政區的字典(因為招商銀行不是在所有行政區都有網點,所以以網頁提供的行政區為準),通過遍歷行政區名稱來查詢全國數據;
第一步:利用requests庫發送HTTP請求獲取所有地級行政區的表,并根據標簽進行保存,另存為csv;
完整代碼#運行環境 Python 3.11
import requests
import csv
from datetime import datetime# 請求數據
response = requests.get("https://map.cmbchina.com/api/map/getProCityInfo",headers={'User-Agent': 'Mozilla/5.0'},timeout=10
)if response.status_code == 200:data = response.json()filename = f"pro_city_info.csv"# 保存為CSVwith open(filename, 'w', encoding='utf-8-sig', newline='') as f:writer = csv.writer(f)writer.writerow(['省份', '城市', '緯度', '經度'])for prov in data['body']['provList']:[writer.writerow([prov['provName'], c['cityName'], c['lat'], c['lng']])for c in prov['cityList']]print(f"數據已保存到 {filename}")
else:print(f"請求失敗: {response.status_code}")
數據會以csv表格的形式,保存在運行腳本的目錄下,數據標簽包括:省份、城市、經緯度;
第二步:利用GET請求獲取所有銀行網點數據,并根據標簽進行保存,另存為csv;
完整代碼#運行環境 Python 3.11
import requests
import csv# 讀取城市列表
def read_cities_from_csv(filename):cities = []with open(filename, 'r', encoding='utf-8-sig') as f:reader = csv.DictReader(f)for row in reader:city_name = row['城市']if city_name:cities.append(city_name)return cities# 輸出文件名固定
output_filename = "cmb_bank.csv"# 打開輸出CSV文件并寫入表頭
with open(output_filename, 'w', encoding='utf-8-sig', newline='') as output_file:writer = csv.writer(output_file)writer.writerow(['城市', 'branchNo', 'lat', 'lng', 'name', 'type'])# 讀取城市列表cities = read_cities_from_csv('pro_city_info.csv')# 遍歷每個城市for city in cities:url = f"https://map.cmbchina.com/api/map/getCmbData?cityName={city}&type=B"try:response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}, timeout=10)if response.status_code == 200:data = response.json()if data['returnCode'] == 'SUC0000':branches = data['body']count = len(branches)# 打印每個城市的返回條數print(f"城市:{city},{count}條")# 寫入數據for branch in branches:writer.writerow([city,branch['branchNo'],branch['lat'],branch['lng'],branch['name'],branch['type']])else:print(f"城市:{city},請求失敗: {data['errorMsg']}")else:print(f"城市:{city},HTTP錯誤: {response.status_code}")except Exception as e:print(f"城市:{city},請求時發生錯誤: {e}")print(f"所有數據已保存到 {output_filename}")
這里有一個tips:1、tpye:B對應的是營業網點,tpye:C對應的是自助銀行,tpye:A對應的是自動柜員機",如果需要修改查詢類型,可直接修改type;
獲取數據標簽如下:城市、branchNo(營業廳編號)、lat&lng(地理坐標)、name(營業廳名稱)、type(查詢類型),其他一些非關鍵標簽,這里省略;
第三步:坐標系轉換,由于招商銀行網點數據使用的是百度坐標系(BD09),為了在ArcGIS上準確展示而不發生偏移,我們需要將網點的坐標從BD09轉換為WGS-84坐標系。我們可以利用coord-convert庫中的bd2wgs(lng, lat)函數,也可以用免費這個網站:批量轉換工具:地圖坐標系批量轉換 - 免費在線工具;
對CSV文件中的網點坐標列進行轉換,完成坐標轉換后,再將數據導入ArcGIS進行可視化;
接下來,我們進行看圖說話:
招商銀行(CMB)在中國大陸的網點分布呈現出顯著的區域不均衡性。東部沿海地區是其網點布局的核心區域,尤其是長三角(上海、江蘇、浙江)、珠三角(廣東)、京津冀(北京、天津、河北)等經濟高度發達地區。這些區域城市化進程快、人口密集、商業活動活躍,對綜合性金融服務的需求旺盛,因此招商銀行在此類地區實現了高密度覆蓋,充分體現了其對重點經濟圈的戰略聚焦。
相比之下,中部地區如河南、湖北、湖南等地雖有一定數量的網點布局,但整體密度仍低于東部沿海;而西部及東北地區的網點分布則明顯稀疏,尤其在新疆、青海、西藏、內蒙古等偏遠省份,網點數量極少甚至存在空白區域,這主要受限于當地人口密度低、經濟總量較小以及運營成本較高等因素。
在城市層級上,一線城市(北京、上海、廣州、深圳)的網點數量最多,幾乎覆蓋所有城區,展現出招商銀行在核心市場的深度滲透與品牌影響力。同時,省會城市及重要經濟節點城市,如成都、武漢、杭州、南京等,也是網點集中布局的重點區域,反映出其“以中心城市帶動區域發展”的渠道策略,城鄉金融服務差距顯著。在大城市及其周邊衛星城,網點高度密集,形成了高效便捷的“15分鐘金融服務圈”,能夠全面滿足居民和企業的存貸匯、理財、對公等多元需求;而在廣大農村及偏遠縣域,物理網點數量極少,服務主要依賴數字化渠道,凸顯出傳統銀行服務在地理覆蓋上的局限性。
從戰略角度看,招商銀行作為國內零售銀行業務的領軍者,其網點布局與人口集聚度、消費活力和財富水平高度匹配,充分契合其“輕型銀行”和“金融科技銀行”的雙輪驅動戰略。在高密度城市區域,招商銀行持續推進智慧網點建設,廣泛部署智能柜員機、VTM遠程柜員、AI客服等科技設備,提升服務效率,釋放人力專注于財富管理等高附加值業務。而在低密度區域,則更多通過手機銀行、掌上生活App等線上平臺實現服務延伸,實現"線下精耕、線上廣覆"的協同發展模式。
文章僅用于分享個人學習成果與個人存檔之用,分享知識,如有侵權,請聯系作者進行刪除。所有信息均基于作者的個人理解和經驗,不代表任何官方立場或權威解讀。