Skip to content

从微信爬出来的中国各地银行列表,包含 10 万条银行数据

Notifications You must be signed in to change notification settings

yuche/wechat-banks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wechat-banks

从微信商户后台爬出来的全国各地银行数据,共计 101370 条。你可以 点击这里 下载。

使用方法

该 JSON 压缩后仍然有 17M 的大小,不推荐直接在客户端使用。你应该导入服务器数据库,让客户端通过 api 请求对应银行类型和地址的银行信息。

// 分别得到适配微信商户银行数据的银行类型,省份,城市列表
import { bankTypes, cities, provinces } from 'wechat-banks'

数据结构

银行列表 data/banks.json

{
    "subBranchId": 116568,
    "subBranchName": "中国邮政储蓄银行股份有限公司陕西省渭南市白水县东风路支行",
    "provinceId": "27",
    "code": "610500", // 行政区划代码
    "name": "渭南", // 银行所在的地级行政单位名称
    "cityId": "913", 
    "bankId": "1066"
}
...

bankTypes

银行的类型

{
    "value": "1001", // 银行的 ID,对应银行列表的 bankId
    "name": "招商银行", // 银行名称
    "accNoParttern": [/^(\d{13}|\d{15,21})$/, /^(\d{10}|\d{12}|\d{15,16})$/] // 匹配正则
}
...

provinces

中国省级行政区

{
    "name": "重庆市",
    "value": "4", // 省份的 ID,对应银行列表的 provinceId
    "children": [
        {"name": "重庆", "value": "23"},
        {"name": "涪陵市", "value": "230"},
        {"name": "万州市", "value": "231"},
        {"name": "黔江市", "value": "232"}
    ]
}
...

cities

中国地级行政区

{
    "id": "132",
    "name": "承德",
    "parent_id": "5", // 对应省级行政区 provinces 的 value
    "first_letter": "c",
    "shorthand": "cd",
    "pinyin": "chengde",
    "suffix": "市",
    "code": "130800", // 行政区划代码
    "sort": "8"
},

自行爬数据

src 文件夹下有源代码。请确保你的 Node.js 版本大于 v4。然后:

  1. npm install 安装依赖;
  2. 进入微信商户后台管理页面;
  3. 打开 chrome dev tools 或者其他抓包工具;
  4. 进行一次真实的银行名称的选取(选类型 > 省份 > 城市),拿到你的 MERCHANT_ID,COOKIE 和 TOKEN;
  5. 替换掉 index.js 第 9 行到第 11 行的内容;
  6. 终端运行 node index.js

由于脚本是 2016 年初写的,不保证微信的 api 是否有变化。如果一切顺利,你大概请求 9800 次微信服务器就可以得到完整数据。

请求策略是继发请求,你也可以使用 asynceachLimit 或者 bluebirdPromise.map 控制并发,节约一点时间。

About

从微信爬出来的中国各地银行列表,包含 10 万条银行数据

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published