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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
Nov 02 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
Sep 15 Python
PyTorch实现AlexNet示例
Jan 14 Python
python3爬取torrent种子链接实例
Jan 16 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
Python替换NumPy数组中大于某个值的所有元素实例
Jun 08 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 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 数组和字符串互相转换实现方法
2013/03/26 PHP
php中explode函数用法分析
2014/11/15 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
Js+XML 操作
2006/09/20 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
js读写json文件实例代码
2014/10/21 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python 流程控制实例代码
2009/09/25 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
简约控的天堂:The Undone
2016/12/21 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
《木笛》教学反思
2014/03/01 职场文书
贷款担保书
2015/01/20 职场文书
采购员岗位职责范本
2015/04/07 职场文书
老乡聚会通知
2015/04/23 职场文书
2015年卫生局工作总结
2015/07/24 职场文书