项目场景:

用银行卡号查相应的归属银行,卡种类


问题描述:

    有同事需要用银行卡号查相应的归属银行,卡种类

方法思路:

  1. 直接查银行卡的网站用爬虫破解付款限制批量查询:难过试了很多次我压根不太会
  2. 调用现成的接口查询(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. 通过银行卡号得到所属银行,卡类型及获取银行图片

    通过银行卡号得到所属银行,卡类型及获取银行图片 1.得到所属银行和卡类型 方法一: 接口: https://ccdcapi.alipay.com/validateAndCacheCardInfo.js ...

  2. 快速查询银行卡发卡省市和归属银行,了解自己的财务状况!

    API接口是现代软件开发的基本组成部分.它们允许应用程序通过互联网连接到其他软件系统,并从这些系统中获取或传输数据.银行卡归属地查询API接口是为开发人员提供的一种工具,可以帮助他们轻松地查询银行卡的 ...

  3. 社会保障计算机考试证书查询,便利查|打开电子社保卡可查询职业资格证书啦!...

    原标题:便利查|打开电子社保卡可查询职业资格证书啦! 引言: 在电子社保卡签发量突破2亿之际,人力资源社会保障部针对群众关注度高.使用频率高的人社服务,推出系列文章,详细为您介绍如何通过手机上的电子社 ...

  4. 判断银行卡号归属银行和卡类型

    通过阿里的支付宝接口进行校验,能够准确识别是否存在,归属行,卡号类型是储蓄卡(DC)还是信用卡(CC). 接口api: https://ccdcapi.alipay.com/validateAndCa ...

  5. 通过银行卡号识别归属银行,php方式

    这个例子不是很全,要做到齐全必须使用数据库字典来索引,而且数据量庞大,建议生产使用时限制几大行就行,直接不支持其他小行.此案例抛砖引玉 /*** 银行卡信息识别相关类* 把bin号转化为长整形,再把各 ...

  6. php微信绑定银行卡号,《微信》免输卡号绑定银行卡方法介绍

    在当我们使用<微信>绑定银行卡的时候,是不是都感觉输入银行卡号非常的麻烦呢?而现在,<微信>已经宣布今后绑定银行卡不需要输入复杂的卡号了.那么大家知道这一个梗的真实意思吗?接下 ...

  7. android根据银行卡卡号前6位获得归属银行

    根据银行卡号判断是哪个银行的卡,依据是银行卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行 ...

  8. android中对sim卡联系人的增删改查以及监听sim卡联系数据的改变

    sim卡联系人的增删改查主要是通过ContentProvider来进行操作的,在android中对sim卡联系人操作的provider是定义在IccProvider.java这个类中的,这个类位于an ...

  9. 收集银行卡号前六位识别发卡行和卡的种类(不全)

    622260 开头的银行卡是交通银行的太平洋卡借记卡 436742 中国建设银行 VISA 龙卡借记卡 436745 中国建设银行 VISA 龙卡贷记卡 622280 中国建设银行支付宝龙卡借记卡 4 ...

  10. oracle表空间查不到,Oracle 有的表查不到归属表空间

    --查看一个用户下有哪些表属于哪个表空间 select * from all_tables where owner = '表名大写'; 问题: 有时一些表查不到属于哪个表空间,在 all_tables ...

最新文章

  1. 李彦宏:从没觉得百度模仿谷歌;马化腾:做ICO数字货币有很多风险
  2. 设置Kali Linux永不锁屏
  3. JS中 window.location.search的作用
  4. 数据科学的5种基本的面向业务的批判性思维技能
  5. java生成大素数_用BigInteger实现大素数生成算法
  6. 一些不错的计算机书籍
  7. UVA 11093 Just Finish it up 环形跑道 (贪心)
  8. ComboBox控件值对类
  9. Java语言程序设计(基础篇)课后答案
  10. Altium Designer中的长度单位如何转换?
  11. jvm full gc到底是啥意思
  12. 麻省理工公开课人工智能笔记五
  13. Matlab坐标轴标签中文设置宋体,英文设置新罗马字体(Times New Roman)
  14. 显卡无法为此计算机,如何解决win10系统电脑中无法安装intel显卡驱动的问题
  15. 浅谈韦达定理的“来龙去脉”
  16. Python - 【珍藏】知识清单及文章链接
  17. Python爬虫实战,pymysql模块,Python实现抓取QQ音乐评论
  18. linux怎么让cpu不自动降频,Win10 CPU自动降频怎么办?Win10下让CPU不降频设置方法
  19. 20X01 FCPX插件 音频可视化视觉特效 PFS Fcpx Audio Effector
  20. 开发软件费用为什么这么贵?

热门文章

  1. 成为Lowe‘s劳氏供应商的条件
  2. 《SPSS从入门到精通》笔记(1-4章)
  3. 内存的读写速度是硬盘的多少倍
  4. 汽车模具翼子板丨门轴侧棱线不顺的原因?附解决方案
  5. ITOP4412----Uboot2020移植记录
  6. Foxmail设置标签
  7. FastText在商品分类下的应用(第十届服创大赛全国三等奖)
  8. H5多媒体视频播放器的使用及常用属性
  9. 12306验证码识别
  10. Windows使用阿里云RAM访问控制API实现自建DDNS动态域名解析