转 https://blog.csdn.net/N_007/article/details/78835526
一、支付宝接口获取名称
根据 卡号 获取 银行信息 接口
https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=银行卡卡号&cardBinCheck=true
返回的结果值 ( josn 类型)
{"bank":"CCB","validated":true,"cardType":"DC","key":"银行卡卡号","messages":[],"stat":"ok"}
其中 bank 就是 银行代码
二、银行代码 —> 银行名称
爬虫爬取
支付宝银行合作商 页面信息。
查看页面结构,如下图所示
需要获取的关键字段就是
<span title="" class="icon "></span>
然后得到银行名称
三、银行LOGO
https://apimg.alipay.com/combo.png?d=cashier&t=银行代码
如果需要多种图片,直接 ","逗号隔开 ,例如
https://apimg.alipay.com/combo.png?d=cashier&t=ABC,CCB
四、java
代码实现
1.pom.xml
使用
hutool 工具包来发起 http 请求,以及后续爬虫功能
参考文档:Hutool
<dependency>
<groupId>com.xiaoleilu</groupId>
<artifactId>hutool-all</artifactId>
<version>3.2.3</version>
</dependency>
2.mian 方法
public static void main(String[] args) throws Exception{
String bankNo = "银行卡号";
//银行代码请求接口 url
String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo="+bankNo+"&cardBinCheck=true";
//发送请求,得到 josn 类型的字符串
String result = HttpUtil.get(url);
// 转为 Json 对象
JSONObject json = new JSONObject(result);
//获取到 bank 代码
String bank = String.valueOf(json.get("bank"));
//爬取支付宝银行合作商页面
String listContent = HttpUtil.get("http://ab.alipay.com/i/yinhang.htm","gb2312");
//过滤得到需要的银行名称
List<String> titles = ReUtil.findAll("<span title="(.*?)" class="icon "+bank+"">(.*?)</span>", listContent, 2);
for (String title : titles) {
//打印银行名称
Console.log(title);
}
}