联行号查询

联行号定义

银行联行号就是一个地区银行的唯一识别标志。用于人民银行所组织的大额支付系统\小额支付系统\城市商业银行银行汇票系统\全国支票影像系统(含一些城市的同城票据自动清分系统)等跨区域支付结算业务。由12位组成:3位银行代码+4位城市代码+4位银行编号+1位校验位。。

联行号查询(官方可靠)

浙商银行、河北银行有验证码,果断放弃。。。。
中原银行无验证码,页面直接选择银行类别、地区码即可查询,经测试,通过http请求,不加地区码可以查询全量(大行不行数据量太大。502。。。)
爬取关键代码(go)

//银行结构定义	
type Bank struct {
	Lname string
	Tel string
	Cls_code string
	Drec_code string
	City_code string
	Bank_code string
	EFFDATE string

}
//银行类别定义
bankTypeMap := map[string]string{
			"102":"中国工商银行",
			"103":"中国农业银行",
			"104":"中国银行",
			"105":"中国建设银行",
			"201":"国家开发银行",
			"202":"中国进出口银行",
			"203":"中国农业发展银行",
			"301":"交通银行",
			"302":"中信银行",
			"303":"中国光大银行",
			"304":"华夏银行",
			"305":"中国民生银行",
			"306":"广发银行",
			"307":"平安银行",
			"308":"招商银行",
			"309":"兴业银行",
			"310":"上海浦东发展银行",
			"313":"城市商业银行",
			"314":"农村商业银行",
			"315":"恒丰银行",
			"317":"农村合作银行",
			"318":"渤海银行",
			"319":"徽商银行",
			"320":"村镇银行",
			"321":"重庆三峡银行",
			"322":"上海农村商业银行",
			"323":"民营银行",
			"325":"上海银行",
			"326":"中信百信银行",
			"401":"城市信用社",
			"402":"农村信用联社",
			"403":"中国邮政储蓄银行",
			"501":"汇丰银行",
			"502":"东亚银行",
			"503":"南洋商业银行",
			"504":"恒生银行",
			"505":"中国银行(香港)",
			"506":"集友银行",
			"509":"星展银行(香港)",
			"510":"永亨银行",
			"512":"永隆银行",
			"513":"大新银行(中国)",
			"523":"国泰世华商业银行",
			"527":"兆丰银行",
			"531":"美国花旗银行",
			"532":"美国银行",
			"533":"美国摩根大通银行",
			"561":"日本三菱东京日联银行",
			"562":"日本日联银行",
			"563":"日本三井住友银行",
			"564":"日本瑞穗实业银行",
			"565":"日本山口银行",
			"591":"韩国外换银行",
			"593":"韩国友利银行",
			"594":"韩国产业银行",
			"595":"新韩银行",
			"596":"韩国中小企业银行",
			"597":"韩亚银行(中国)有限公司",
			"600":"浦发硅谷银行",
			"616":"首都银行",
			"621":"华侨永亨银行(中国)有限公司",
			"622":"大华银行",
			"623":"新加坡星展银行",
			"631":"盘古银行",
			"641":"奥地利中央合作银行",
			"651":"比利时联合银行",
			"661":"荷兰银行",
			"662":"荷兰商业银行",
			"671":"渣打银行",
			"681":"瑞典商业银行",
			"682":"瑞典北欧斯安银行有限公司",
			"691":"法国兴业银行",
			"692":"法国巴黎银行",
			"694":"法国东方汇理银行",
			"695":"法国外贸银行",
			"711":"德国德累斯登银行",
			"712":"德意志银行",
			"713":"德国商业银行",
			"714":"德国西德银行",
			"715":"德国巴伐利亚州银行",
			"717":"中德住房储蓄银行",
			"741":"瑞士信贷银行",
			"752":"加拿大蒙特利尔银行",
			"761":"澳大利亚和新西兰银行集团",
			"775":"华美银行中国有限公司",
			"781":"厦门国际银行",
			"782":"法国巴黎银行(中国)",
			"785":"华商银行",
			"786":"青岛国际银行",
			"787":"华一银行",
			"901":"中央结算公司",
			"909":"银行间清算所",
			"001":"央行"}
//循环爬取
//test
for key, _ := range bankTypeMap {
		fmt.Println(key)
		//拉取联行号
		//url := "http://www.zybank.com.cn/eportal/ui?moduleId=0e014749013b439aab3f22c794bd61ea&struts.portlet.action=/portlet/cnaps-front!queryCnaps.action&areacode=" + city + "&clscode=" + key;
		url := "http://www.zybank.com.cn/eportal/ui?moduleId=0e014749013b439aab3f22c794bd61ea&struts.portlet.action=/portlet/cnaps-front!queryCnaps.action&clscode=" + key;
		fmt.Println(url)
		resp, err := http.Get(url)
		if err != nil {
			fmt.Println("拉取失败", key)
		}
		defer resp.Body.Close()
		body, err := ioutil.ReadAll(resp.Body)
		//fmt.Println(string(body))
		var unionNoList []Bank
		json.Unmarshal([]byte(body), &unionNoList)
		for _, item := range unionNoList {
			//Lname string
			//Tel string
			//Cls_code string
			//Drec_code string
			//City_code string
			//Bank_code string
			//EFFDATE string
			ln := item.Lname + "|" + item.Tel + "|" + item.Cls_code + "|" + item.Drec_code + "|" + item.City_code + "|" + item.Bank_code + "|" + item.EFFDATE + "\n";
			fmt.Println(ln)
			//转存文件
			err = writeFile("G:\\go_workspace\\src\\learning-go\\bankNo.txt", []byte(ln), os.ModeAppend)
			if err != nil {
				panic(err)
			}
		}
	}
//写文件
func writeFile(filename string, data []byte, perm os.FileMode) error {
	f, err := os.OpenFile(filename, os.O_APPEND, perm)

	if err != nil {
		return err
	}
	n, err := f.Write(data)
	if err == nil && n < len(data) {
		err = io.ErrShortWrite
	}
	if err1 := f.Close(); err == nil {
		err = err1
	}
	return err
}

补充个方便的

民生银行 联行号,内容为txt格式,字段不详,但可以猜测到,需要自行处理一下:
http://www.cmbc.com.cn/download/lianhang.txt

资源下载地址:

https://download.csdn.net/download/yxy1008613/10768445

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值