Python爬虫实现全国失信被执行人名单查询功能示例


Posted in Python onMay 03, 2018

本文实例讲述了Python爬虫实现全国失信被执行人名单查询功能。分享给大家供大家参考,具体如下:

一、需求说明

利用百度的接口,实现一个全国失信被执行人名单查询功能。输入姓名,查询是否在全国失信被执行人名单中。

Python爬虫实现全国失信被执行人名单查询功能示例

二、python实现

版本1:

# -*- coding:utf-8*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
import requests
time1=time.time()
import pandas as pd
import json
iname=[]
icard=[]
def person_executed(name):
  for i in range(0,30):
    try:
      url="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6899" \
      "&query=%E5%A4%B1%E4%BF%A1%E8%A2%AB%E6%89%A7%E8%A1%8C%E4%BA%BA%E5%90%8D%E5%8D%95" \
      "&cardNum=&" \
      "iname="+str(name)+ \
      "&areaName=" \
      "&pn="+str(i*10)+ \
      "&rn=10" \
      "&ie=utf-8&oe=utf-8&format=json"
      html=requests.get(url).content
      html_json=json.loads(html)
      html_data=html_json['data']
      for each in html_data:
        k=each['result']
        for each in k:
          print each['iname'],each['cardNum']
          iname.append(each['iname'])
          icard.append(each['cardNum'])
    except:
      pass
if __name__ == '__main__':
  name="郭**"
  person_executed(name)
  print len(iname)
  #####################将数据组织成数据框###########################
  data=pd.DataFrame({"name":iname,"IDCard":icard})
  #################数据框去重####################################
  data1=data.drop_duplicates()
  print data1
  print len(data1)
  #########################写出数据到excel#########################################
  pd.DataFrame.to_excel(data1,"F:\\iname_icard_query.xlsx",header=True,encoding='gbk',index=False)
  time2=time.time()
  print u'ok,爬虫结束!'
  print u'总共耗时:'+str(time2-time1)+'s'

三、效果展示

"D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/全国失信被执行人查询.py
郭** 34122319790****5119
郭** 32032119881****2419
郭** 32032119881****2419
3
                IDCard name
0  34122319790****5119  郭**
1  32032119881****2419  郭**
2
ok,爬虫结束!
总共耗时:7.72000002861s
Process finished with exit code 0

版本2:

# -*- coding:utf-8*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
import requests
time1=time.time()
import pandas as pd
import json
iname=[]
icard=[]
courtName=[]
areaName=[]
caseCode=[]
duty=[]
performance=[]
disruptTypeName=[]
publishDate=[]
def person_executed(name):
  for i in range(0,30):
    try:
      url="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6899" \
      "&query=%E5%A4%B1%E4%BF%A1%E8%A2%AB%E6%89%A7%E8%A1%8C%E4%BA%BA%E5%90%8D%E5%8D%95" \
      "&cardNum=&" \
      "iname="+str(name)+ \
      "&areaName=" \
      "&pn="+str(i*10)+ \
      "&rn=10" \
      "&ie=utf-8&oe=utf-8&format=json"
      html=requests.get(url).content
      html_json=json.loads(html)
      html_data=html_json['data']
      for each in html_data:
        k=each['result']
        for each in k:
          print each['iname'],each['cardNum'],each['courtName'],each['areaName'],each['caseCode'],each['duty'],each['performance'],each['disruptTypeName'],each['publishDate']
          iname.append(each['iname'])
          icard.append(each['cardNum'])
          courtName.append(each['courtName'])
          areaName.append(each['areaName'])
          caseCode.append(each['caseCode'])
          duty.append(each['duty'])
          performance.append(each['performance'])
          disruptTypeName.append(each['disruptTypeName'])
          publishDate.append(each['publishDate'])
    except:
      pass
if __name__ == '__main__':
  name="郭**"
  person_executed(name)
  print len(iname)
  #####################将数据组织成数据框###########################
  # data=pd.DataFrame({"name":iname,"IDCard":icard})
  detail_data=pd.DataFrame({"name":iname,"IDCard":icard,"courtName":courtName,"areaName":areaName,"caseCode":caseCode,"duty":duty,"performance":performance,\
               "disruptTypeName":disruptTypeName,"publishDate":publishDate})
  #################数据框去重####################################
  # data1=data.drop_duplicates()
  # print data1
  # print len(data1)
  detail_data1=detail_data.drop_duplicates()
  # print detail_data1
  # print len(detail_data1)
  #########################写出数据到excel#########################################
  pd.DataFrame.to_excel(detail_data1,"F:\\iname_icard_query.xlsx",header=True,encoding='gbk',index=False)
  time2=time.time()
  print u'ok,爬虫结束!'
  print u'总共耗时:'+str(time2-time1)+'s'

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 Python
python基础教程之实现石头剪刀布游戏示例
Feb 11 Python
Python单例模式实例详解
Mar 01 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
Pytho爬虫中Requests设置请求头Headers的方法
Sep 22 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
Nov 11 Python
Python 解决中文写入Excel时抛异常的问题
May 03 #Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 #Python
python更改已存在excel文件的方法
May 03 #Python
python写入已存在的excel数据实例
May 03 #Python
Python实现输出某区间范围内全部素数的方法
May 02 #Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 #Python
python实战之实现excel读取、统计、写入的示例讲解
May 02 #Python
You might like
php时间戳转换的示例
2014/03/31 PHP
PHP类的特性实例分析
2016/09/28 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python命令 -u参数用法解析
2019/10/24 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
python实现计算器简易版
2020/12/17 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
战友聚会邀请函
2014/01/18 职场文书
烹饪自我鉴定
2014/03/01 职场文书
公司门卫岗位职责
2014/03/15 职场文书
春节联欢会主持词
2014/03/24 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
违纪检讨书
2015/01/27 职场文书
安全保证书怎么写
2015/02/28 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
基于Python实现的购物商城管理系统
2021/04/27 Python