返回

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

发布时间:2023-04-15 08:51:01 283
# 爬虫# 数据# 技术# 支付# 信息

1. 场景描述

image.png 下面是一通电话的通话内容: 陌生人:“李总,最近还好吗?” 李总:“您是哪一位?” 陌生人:“我的声音听不出来啦?” 李总:“有点耳熟,想不起来。” 陌生人:“猜猜我是谁?” 李总:“想起来啦,你是猪二娃!” 陌生人:“对啊!” 李总:“猪二娃两年前就死啦!” 陌生人狠狠地挂断了电话。   哈哈哈,高手在民间!想必电话那头的陌生人肺都要气炸了。这是一个典型的电信诈骗套路,幽默睿智的李总把骗子戏弄了一番,实在是过瘾。这里应该有掌声!从众多的电信诈骗案例表明,尽管是骗子老套的伎俩,还是有人上当受骗,造成了惨痛的经济损失。   现实生活中并不总是充满阳光,还有各种欺诈和诱惑。想必你一定听到过关于民间借贷与庞氏骗局。那些经过巧妙包装回报丰厚的投资项目,正诱骗着投资人跳入预设的圈套和陷阱,最终结局不言而喻,骗子卷款潜逃,投资人血本无归。纵观投资项目“暴雷”,结局基本上大同小异。   人上一百,形形色色。现实世界中还有这样一类特殊人群,借钱不还,还玩失联。人们把他/她们戏称为“老赖”。在司法实践中,“老赖”叫做失信被执行人。在此简单科普一下,所谓的“失信被执行人”是指未履行生效法律文书确定的义务并具有“有履行能力而不履行”、“抗拒执行”等法定情形,从而被人民法院依法纳入失信被执行人名单的人。“老赖”可能就潜伏隐藏在你的工作圈、生活圈和朋友圈中,他们可能是你的亲属、同事、同学、朋友或者合作伙伴。当你与“老赖”有经济往来时,你就要小心啦!必须提高警惕,擦亮眼睛,捏紧你的钱袋子。或许你会提出问题:我不知道哪些人是“老赖”?下面我们就用Python程序来帮你找出和曝光“老赖”,让“老赖”无所遁形!


2. 编程思路

  我们可以使用Python的爬虫技术,在专业网站上抓去失信被执行人的信息。这里提供两种方法可以查询失信被执行人。

2.1 全国执行信息公开网

http://zxgk.court.gov.cn/zhzxgk/

2.2 百度查询

http://baidu.com/s?wd=失信被执行人查询 image.png

当你输入失信被执行人查询等关键词,就可以开始查询并展示结果。 以上两种方法均需要你以交互式的方式进行查询。下面通过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还可供银行客户经理、信贷人员在开展客户资信调查使用,以了解贷款申请客户是否存在不良的信用记录,是否是失信被执行人。  

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线