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 相关文章推荐
Python 实现简单的电话本功能
Aug 09 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 Python
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 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实现网站顶踩功能的完整前端代码
2015/07/19 PHP
php生成curl命令行的方法
2015/12/14 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
pandas-resample按时间聚合实例
2019/12/27 Python
python多线程使用方法实例详解
2019/12/30 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
Python如何使用input函数获取输入
2020/08/06 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
管理专员自荐信
2014/01/26 职场文书
军训自我鉴定200字
2014/02/13 职场文书
大学生作弊检讨书
2014/09/11 职场文书
房产公证委托书范本
2014/09/20 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
如何写好活动总结
2019/06/21 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python