场景编程集锦 - 捏紧你的钱袋子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了场景编程集锦 - 捏紧你的钱袋子相关的知识,希望对你有一定的参考价值。
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日
.....
共计17条公示信息!
D:\\cases\\捏紧你的钱袋子>
如果查询没有内容显示,并不意味着某人不是老赖,因为有关司法数据有时间滞后效应。如果你查询已有信息显示的一定是老赖。
5. 场景扩展
以上开发的应用程序find_ll.py还可供银行客户经理、信贷人员在开展客户资信调查使用,以了解贷款申请客户是否存在不良的信用记录,是否是失信被执行人。
以上是关于场景编程集锦 - 捏紧你的钱袋子的主要内容,如果未能解决你的问题,请参考以下文章