场景编程集锦 - 捏紧你的钱袋子

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还可供银行客户经理、信贷人员在开展客户资信调查使用,以了解贷款申请客户是否存在不良的信用记录,是否是失信被执行人。  

以上是关于场景编程集锦 - 捏紧你的钱袋子的主要内容,如果未能解决你的问题,请参考以下文章

场景编程集锦 - 你是谁?

场景编程集锦 - 你是谁?

场景编程集锦 - 考试打假

场景编程集锦 - BMI指数与健身达人

场景编程集锦– 妖兔闹春

场景编程集锦 - 躺平式赚钱