1. 场景描述
下面是一通电话的通话内容: 陌生人:“李总,最近还好吗?” 李总:“您是哪一位?” 陌生人:“我的声音听不出来啦?” 李总:“有点耳熟,想不起来。” 陌生人:“猜猜我是谁?” 李总:“想起来啦,你是猪二娃!” 陌生人:“对啊!” 李总:“猪二娃两年前就死啦!” 陌生人狠狠地挂断了电话。 哈哈哈,高手在民间!想必电话那头的陌生人肺都要气炸了。这是一个典型的电信诈骗套路,幽默睿智的李总把骗子戏弄了一番,实在是过瘾。这里应该有掌声!从众多的电信诈骗案例表明,尽管是骗子老套的伎俩,还是有人上当受骗,造成了惨痛的经济损失。 现实生活中并不总是充满阳光,还有各种欺诈和诱惑。想必你一定听到过关于民间借贷与庞氏骗局。那些经过巧妙包装回报丰厚的投资项目,正诱骗着投资人跳入预设的圈套和陷阱,最终结局不言而喻,骗子卷款潜逃,投资人血本无归。纵观投资项目“暴雷”,结局基本上大同小异。 人上一百,形形色色。现实世界中还有这样一类特殊人群,借钱不还,还玩失联。人们把他/她们戏称为“老赖”。在司法实践中,“老赖”叫做失信被执行人。在此简单科普一下,所谓的“失信被执行人”是指未履行生效法律文书确定的义务并具有“有履行能力而不履行”、“抗拒执行”等法定情形,从而被人民法院依法纳入失信被执行人名单的人。“老赖”可能就潜伏隐藏在你的工作圈、生活圈和朋友圈中,他们可能是你的亲属、同事、同学、朋友或者合作伙伴。当你与“老赖”有经济往来时,你就要小心啦!必须提高警惕,擦亮眼睛,捏紧你的钱袋子。或许你会提出问题:我不知道哪些人是“老赖”?下面我们就用Python程序来帮你找出和曝光“老赖”,让“老赖”无所遁形!
2. 编程思路
我们可以使用Python的爬虫技术,在专业网站上抓去失信被执行人的信息。这里提供两种方法可以查询失信被执行人。
2.1 全国执行信息公开网
http://zxgk.court.gov.cn/zhzxgk/
2.2 百度查询
http://baidu.com/s?wd=失信被执行人查询
当你输入失信被执行人查询等关键词,就可以开始查询并展示结果。 以上两种方法均需要你以交互式的方式进行查询。下面通过Python程序的爬虫技术进行数据抓取,晒一晒“老赖”的斑斑劣迹。这里需要用到的是第三方库requests,需要我们单独安装。
3. 代码实现
"""
find_ll.py - 捏紧你的钱袋子
"""
import requests # ①
import json
import sys
def main():
if len(sys.argv) < 3:
print('Usage: find_ll.py name province_name')
sys.exit(1)
data = query(sys.argv[1], sys.argv[2])
print_result(data)
def query(name, area):
"""
根据姓名和省份查询失信人记录
"""
url = 'https://sp1.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6899' \
'&query=失信被执行人查询&cardNum=&areaName=&ie=utf-8&oe=utf-8&format=json' # ②
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) '
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Mobile Safari/537.36'} # ③
r = requests.get(url, headers=headers, params={'iname': name, 'areaName': area}) # ④
try:
r.raise_for_status()
except Exception as exc:
print('错误:{0}'.format(exc))
exit(1)
data = json.loads(r.text) # ⑤
return data
def print_result(data):
"""
打印查询结果
"""
if data['data']:
total = 0
for dataset in data['data']: # ⑥
cases = dataset['result']
for case in cases: # ⑦
total += 1
print('-' * 25, '第', total, '条信息', '-' * 25)
if case['businessEntity']:
print('失信人: ', case['iname'] + '(企业法人:' + case['businessEntity'] + ')')
else:
print('失信人: ', case['iname'])
print('证件号: ', case['cardNum'])
if case['sexy']:
print('性别: ', case['sexy'], '\t年龄:', case['age'], '(公布时年龄)')
print('省份名称:', case['areaName'])
print('执行法院:', case['courtName'])
print('案件代号:', case['caseCode'])
print('承担义务:', case['duty'])
print('履行情况:', case['performance'])
print('具体原因:', case['disruptTypeName'])
print('公布日期:', case['publishDate'])
print('\n共计{0}条公示信息!'.format(total))
else:
print('没有相关信息!')
if __name__ == '__main__':
main()
下面是程序重要语句的解释说明: 语句①导入requests模块。 语句②url变量存放需要访问的网页地址。 语句③构建一个HTTP的请求头,以便模拟浏览器是发送HTTP请求。 语句④requests.get()用于下载一个网页,这里使用字典方式传递参数,包括失信人的名字(或单位公司名称),以及省份或地区。 语句⑤把下载的页面内容转换成JSON格式,方便后续解析网页内容。 语句⑥和⑦使用双重循环语句解析案件的详细内容。
4. 执行效果
4.1 安装requests库
pip install request -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
4.2 执行程序
D:\cases\捏紧你的钱袋子>python find_ll.py 钟雪冬 浙江
------------------------- 第 1 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 65 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2018)浙0122执4324号
承担义务: 案款241563元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2018年12月11日
------------------------- 第 2 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 65 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2018)浙0122执3108号
承担义务: 案款83870元及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2018年08月29日
------------------------- 第 3 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 65 (公布时年龄)
省份名称: 浙江
执行法院: 浦江县人民法院
案件代号: (2018)浙0726执1603号
承担义务: 判令钟雪冬、罗春柳支付借款100650元本金及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2018年08月30日
------------------------- 第 4 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 62 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2016)浙0122执1078号
承担义务:
履行情况: 全部未履行
具体原因: 其他有履行能力而拒不履行生效法律文书确定义务
公布日期: 2016年05月09日
------------------------- 第 5 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执835号
承担义务: 支付案款40000元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2017年07月21日
------------------------- 第 6 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执1235号
承担义务: 支付107513.81元及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2017年09月14日
------------------------- 第 7 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 65 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2018)浙0122执3894号
承担义务: 案款90600元及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2018年11月05日
------------------------- 第 8 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 66 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2019)浙0122执1号
承担义务: 案款75000元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2019年01月04日
------------------------- 第 9 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 66 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2019)浙0122执1281号
承担义务: 案款59000元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2019年05月31日
------------------------- 第 10 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 66 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2019)浙0122执1291号
承担义务: 案款61100元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2019年05月31日
------------------------- 第 11 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执3533号
承担义务: (2016)浙0122民初5633号
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2018年03月01日
------------------------- 第 12 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 浙江省桐庐县人民法院
案件代号: (2017)浙0122执172号
承担义务: 支付案款37355元
履行情况: 全部未履行
具体原因: 其他有履行能力而拒不履行生效法律文书确定义务的
公布日期: 2017年02月16日
------------------------- 第 13 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执1608号
承担义务: 支付93900元及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2017年09月14日
------------------------- 第 14 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执836号
承担义务: 支付案款30000元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2017年07月21日
------------------------- 第 15 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 66 (公布时年龄)
省份名称: 浙江
执行法院: 浦江县人民法院
案件代号: (2018)浙0726执5736号
承担义务: (2018)浙0726执5736号
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2019年06月11日
------------------------- 第 16 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 66 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2019)浙0122执12号
承担义务: 案款25000元
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2019年01月04日
------------------------- 第 17 条信息 -------------------------
失信人: 钟雪冬
证件号: 3301221954****2116
性别: 男性 年龄: 64 (公布时年龄)
省份名称: 浙江
执行法院: 桐庐县人民法院
案件代号: (2017)浙0122执1390号
承担义务: 支付5万元及利息
履行情况: 全部未履行
具体原因: 有履行能力而拒不履行生效法律文书确定义务
公布日期: 2017年09月14日
共计17条公示信息!
D:\cases\捏紧你的钱袋子>
如果查询没有内容显示,并不意味着某人不是老赖,因为有关司法数据有时间滞后效应。如果你查询已有信息显示的一定是老赖。
5. 场景扩展
以上开发的应用程序find_ll.py还可供银行客户经理、信贷人员在开展客户资信调查使用,以了解贷款申请客户是否存在不良的信用记录,是否是失信被执行人。