用银行卡号查相应的归属银行,卡种类
项目场景:
用银行卡号查相应的归属银行,卡种类
问题描述:
有同事需要用银行卡号查相应的归属银行,卡种类
方法思路:
- 直接查银行卡的网站用爬虫破解付款限制批量查询:难过试了很多次我压根不太会
- 调用现成的接口查询(0.0,这个还是可以的)
这里用的是支付宝的接口< url = “https://ccdcapi.alipay.com/validateAndCacheCardInfo.json”>
完整代码:
完整代码:
import requests
import xlrd
import os
import xlsxwriter
import tkinter.messageboxbank_abb = {"SRCB": "深圳农村商业银行","BGB": "广西北部湾银行","SHRCB": "上海农村商业银行","BJBANK": "北京银行","WHCCB": "威海市商业银行","BOZK": "周口银行","KORLABANK": "库尔勒市商业银行","SPABANK": "平安银行","SDEB": "顺德农商银行","HURCB": "湖北省农村信用社","WRCB": "无锡农村商业银行","BOCY": "朝阳银行","CZBANK": "浙商银行","HDBANK": "邯郸银行","BOC": "中国银行","BOD": "东莞银行","CCB": "中国建设银行","ZYCBANK": "遵义市商业银行","SXCB": "绍兴银行","GZRCU": "贵州省农村信用社","ZJKCCB": "张家口市商业银行","BOJZ": "锦州银行","BOP": "平顶山银行","HKB": "汉口银行","SPDB": "上海浦东发展银行","NXRCU": "宁夏黄河农村商业银行","NYNB": "广东南粤银行","GRCB": "广州农商银行","BOSZ": "苏州银行","HZCB": "杭州银行","HSBK": "衡水银行","HBC": "湖北银行","JXBANK": "嘉兴银行","HRXJB": "华融湘江银行","BODD": "丹东银行","AYCB": "安阳银行","EGBANK": "恒丰银行","CDB": "国家开发银行","TCRCB": "江苏太仓农村商业银行","NJCB": "南京银行","ZZBANK": "郑州银行","DYCB": "德阳商业银行","YBCCB": "宜宾市商业银行","SCRCU": "四川省农村信用","KLB": "昆仑银行","LSBANK": "莱商银行","YDRCB": "尧都农商行","CCQTGB": "重庆三峡银行","FDB": "富滇银行","JSRCU": "江苏省农村信用联合社","JNBANK": "济宁银行","CMB": "招商银行","JINCHB": "晋城银行JCBANK","FXCB": "阜新银行","WHRCB": "武汉农村商业银行","HBYCBANK": "湖北银行宜昌分行","TZCB": "台州银行","TACCB": "泰安市商业银行","XCYH": "许昌银行","CEB": "中国光大银行","NXBANK": "宁夏银行","HSBANK": "徽商银行","JJBANK": "九江银行","NHQS": "农信银清算中心","MTBANK": "浙江民泰商业银行","LANGFB": "廊坊银行","ASCB": "鞍山银行","KSRB": "昆山农村商业银行","YXCCB": "玉溪市商业银行","DLB": "大连银行","DRCBCL": "东莞农村商业银行","GCB": "广州银行","NBBANK": "宁波银行","BOYK": "营口银行","SXRCCU": "陕西信合","GLBANK": "桂林银行","BOQH": "青海银行","CDRCB": "成都农商银行","QDCCB": "青岛银行","HKBEA": "东亚银行","HBHSBANK": "湖北银行黄石分行","WZCB": "温州银行","TRCB": "天津农商银行","QLBANK": "齐鲁银行","GDRCC": "广东省农村信用社联合社","ZJTLCB": "浙江泰隆商业银行","GZB": "赣州银行","GYCB": "贵阳市商业银行","CQBANK": "重庆银行","DAQINGB": "龙江银行","CGNB": "南充市商业银行","SCCB": "三门峡银行","CSRCB": "常熟农村商业银行","SHBANK": "上海银行","JLBANK": "吉林银行","CZRCB": "常州农村信用联社","BANKWF": "潍坊银行","ZRCBANK": "张家港农村商业银行","FJHXBC": "福建海峡银行","ZJNX": "浙江省农村信用社联合社","LZYH": "兰州银行","JSB": "晋商银行","BOHAIB": "渤海银行","CZCB": "浙江稠州商业银行","YQCCB": "阳泉银行","SJBANK": "盛京银行","XABANK": "西安银行","BSB": "包商银行","JSBANK": "江苏银行","FSCB": "抚顺银行","HNRCU": "河南省农村信用","COMM": "交通银行","XTB": "邢台银行","CITIC": "中信银行","HXBANK": "华夏银行","HNRCC": "湖南省农村信用社","DYCCB": "东营市商业银行","ORBANK": "鄂尔多斯银行","BJRCB": "北京农村商业银行","XYBANK": "信阳银行","ZGCCB": "自贡市商业银行","CDCB": "成都银行","HANABANK": "韩亚银行","CMBC": "中国民生银行","LYBANK": "洛阳银行","GDB": "广东发展银行","ZBCB": "齐商银行","CBKF": "开封市商业银行","H3CB": "内蒙古银行","CIB": "兴业银行","CRCBANK": "重庆农村商业银行","SZSBK": "石嘴山银行","DZBANK": "德州银行","SRBANK": "上饶银行","LSCCB": "乐山市商业银行","JXRCU": "江西省农村信用","ICBC": "中国工商银行","JZBANK": "晋中市商业银行","HZCCB": "湖州市商业银行","NHB": "南海农村信用联社","XXBANK": "新乡银行","JRCB": "江苏江阴农村商业银行","YNRCC": "云南省农村信用社","ABC": "中国农业银行","GXRCU": "广西省农村信用","PSBC": "中国邮政储蓄银行","BZMD": "驻马店银行","ARCU": "安徽省农村信用社","GSRCU": "甘肃省农村信用","LYCB": "辽阳市商业银行","JLRCU": "吉林农信","URMQCCB": "乌鲁木齐市商业银行","XLBANK": "中山小榄村镇银行","CSCB": "长沙银行","JHBANK": "金华银行","BHB": "河北银行","NBYZ": "鄞州银行","LSBC": "临商银行","BOCD": "承德银行","SDRCU": "山东农信","NCB": "南昌银行","TCCB": "天津银行","WJRCB": "吴江农商银行","CBBQS": "城市商业银行资金清算中心","HBRCU": "河北省农村信用社",}cardTypeMap = {'DC': "储蓄卡",
'CC': "信用卡",
'SCC': "准贷记卡",
'PC': "预付费卡"
};
def get_bank(cardNo):url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json"params = {"_input_charset": "utf-8","cardNo": cardNo,"cardBinCheck": "true",}try:response=requests.get(url=url, params=params).json()bank = response["bank"]cardType=response["cardType"]except:return '银行卡号输入有误!'if bank in bank_abb.items() :print(bank_abb.items)return bank_abb[bank],cardTypeMap[cardType]else:return cardNo,bank_abb[bank],cardTypeMap[cardType]def get_cardNo(cardNo_file_path, sheet_num=0):file_name = os.path.splitext(cardNo_file_path)[0]file_realname = file_name.split('\\')[-1] # 文件名print(file_realname)exclename = file_name + '_get_info.xlsx'myWorkbook = xlsxwriter.Workbook(exclename) # 创建一个excel文件,用于待会写数据sheet_file_realname = myWorkbook.add_worksheet(file_realname) # 在文件中创建一个名为file_realname的sheet,不加名字默认为sheet1bold = myWorkbook.add_format({'bold': True}) # 设置一个加粗的格式对象workfomat = myWorkbook.add_format({'bold' : True, #字体加粗'border' : 1, #单元格边框宽度'align' : 'center', #对齐方式'valign' : 'vcenter', #字体对齐方式'fg_color' : '#F4B084', #单元格背景颜色})sheet_file_realname.write(0, 0, u'银行卡', workfomat) # 给第一行加标签sheet_file_realname.write(0, 1, u'归属银行', workfomat)sheet_file_realname.write(0, 2, u'种类', workfomat)# 设置读Excel的编码格式xlrd.Book.encoding = "gbk"rb = xlrd.open_workbook(cardNo_file_path)sheet = rb.sheet_by_index(sheet_num) # 读第几个sheet,默认为第一个nrows = sheet.nrowsprint(nrows)for i in range(nrows):cardNo = sheet.cell_value(i, 0)if len(str(cardNo).replace(' ', ''))>=16 and len(str(cardNo).replace(' ', ''))<=19 :cardNo = sheet.cell_value(i, 0) # 假设电话号码在第一列,从第一行开始,也就是索引(0,0),if isinstance(cardNo,float):cardNo=str(int(phone_num)).replace(' ', '')else:cardNo=str(cardNo).replace(' ', '')cardNo_info = get_bank(cardNo)print('银行卡位数为:',len(cardNo_info[0]),cardNo_info)if len(cardNo_info[1])>1:sheet_file_realname.write(i + 1, 0, cardNo)sheet_file_realname.write(i + 1, 1, cardNo_info[1])sheet_file_realname.write(i + 1, 2, cardNo_info[2])else:sheet_file_realname.write(i + 1, 0, cardNo)sheet_file_realname.write(i + 1, 1, 'null')sheet_file_realname.write(i + 1, 2, 'null')else:sheet_file_realname.write(i + 1, 0, cardNo)sheet_file_realname.write(i + 1, 1, 'null')sheet_file_realname.write(i + 1, 2, 'null')myWorkbook.close()print(os.path.realpath(exclename))tkinter.messagebox.showinfo('新生新的文件路径', os.path.realpath(exclename))if __name__ == "__main__":pwd = os.getcwd()cardNo_file_path = os.path.join(pwd,'银行卡账号.xlsx')# a=get_bank('621xx9xx02xx816xx8 ')# print(len(a[1]))# print(a)get_cardNo(cardNo_file_path)
成本展示:
用银行卡号查相应的归属银行,卡种类相关推荐
- 通过银行卡号得到所属银行,卡类型及获取银行图片
通过银行卡号得到所属银行,卡类型及获取银行图片 1.得到所属银行和卡类型 方法一: 接口: https://ccdcapi.alipay.com/validateAndCacheCardInfo.js ...
- 快速查询银行卡发卡省市和归属银行,了解自己的财务状况!
API接口是现代软件开发的基本组成部分.它们允许应用程序通过互联网连接到其他软件系统,并从这些系统中获取或传输数据.银行卡归属地查询API接口是为开发人员提供的一种工具,可以帮助他们轻松地查询银行卡的 ...
- 社会保障计算机考试证书查询,便利查|打开电子社保卡可查询职业资格证书啦!...
原标题:便利查|打开电子社保卡可查询职业资格证书啦! 引言: 在电子社保卡签发量突破2亿之际,人力资源社会保障部针对群众关注度高.使用频率高的人社服务,推出系列文章,详细为您介绍如何通过手机上的电子社 ...
- 判断银行卡号归属银行和卡类型
通过阿里的支付宝接口进行校验,能够准确识别是否存在,归属行,卡号类型是储蓄卡(DC)还是信用卡(CC). 接口api: https://ccdcapi.alipay.com/validateAndCa ...
- 通过银行卡号识别归属银行,php方式
这个例子不是很全,要做到齐全必须使用数据库字典来索引,而且数据量庞大,建议生产使用时限制几大行就行,直接不支持其他小行.此案例抛砖引玉 /*** 银行卡信息识别相关类* 把bin号转化为长整形,再把各 ...
- php微信绑定银行卡号,《微信》免输卡号绑定银行卡方法介绍
在当我们使用<微信>绑定银行卡的时候,是不是都感觉输入银行卡号非常的麻烦呢?而现在,<微信>已经宣布今后绑定银行卡不需要输入复杂的卡号了.那么大家知道这一个梗的真实意思吗?接下 ...
- android根据银行卡卡号前6位获得归属银行
根据银行卡号判断是哪个银行的卡,依据是银行卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行 ...
- android中对sim卡联系人的增删改查以及监听sim卡联系数据的改变
sim卡联系人的增删改查主要是通过ContentProvider来进行操作的,在android中对sim卡联系人操作的provider是定义在IccProvider.java这个类中的,这个类位于an ...
- 收集银行卡号前六位识别发卡行和卡的种类(不全)
622260 开头的银行卡是交通银行的太平洋卡借记卡 436742 中国建设银行 VISA 龙卡借记卡 436745 中国建设银行 VISA 龙卡贷记卡 622280 中国建设银行支付宝龙卡借记卡 4 ...
- oracle表空间查不到,Oracle 有的表查不到归属表空间
--查看一个用户下有哪些表属于哪个表空间 select * from all_tables where owner = '表名大写'; 问题: 有时一些表查不到属于哪个表空间,在 all_tables ...
最新文章
- 李彦宏:从没觉得百度模仿谷歌;马化腾:做ICO数字货币有很多风险
- 设置Kali Linux永不锁屏
- JS中 window.location.search的作用
- 数据科学的5种基本的面向业务的批判性思维技能
- java生成大素数_用BigInteger实现大素数生成算法
- 一些不错的计算机书籍
- UVA 11093 Just Finish it up 环形跑道 (贪心)
- ComboBox控件值对类
- Java语言程序设计(基础篇)课后答案
- Altium Designer中的长度单位如何转换?
- jvm full gc到底是啥意思
- 麻省理工公开课人工智能笔记五
- Matlab坐标轴标签中文设置宋体,英文设置新罗马字体(Times New Roman)
- 显卡无法为此计算机,如何解决win10系统电脑中无法安装intel显卡驱动的问题
- 浅谈韦达定理的“来龙去脉”
- Python - 【珍藏】知识清单及文章链接
- Python爬虫实战,pymysql模块,Python实现抓取QQ音乐评论
- linux怎么让cpu不自动降频,Win10 CPU自动降频怎么办?Win10下让CPU不降频设置方法
- 20X01 FCPX插件 音频可视化视觉特效 PFS Fcpx Audio Effector
- 开发软件费用为什么这么贵?