因为之前项目中是到网站去请求身份证号的归属地信息,网站并不稳定,打算改变一下,准备用在本地做一个码表,信息来源就是:2018年中华人民共和国行政区划代码,上面每个月都会变更信息我要找的就是11月份的代码划分。

关于身份证号的位数含义,及校验方法,这里面写的特别详细:
中国公民身份证号码验证标准、方案与实现

最近项目又有同类型的需求了,重新查询发现到的文章,方法也都是特别的简单,18年写的,但是大体不影响使用。

#-*- coding:utf-8 _*-
"""
@file : idcard_dict.py
@auther : Ma
@time : 2018/11/06
从国家民政局上更新最新的行政区划分状况,并将结果加载到数据库中
"""import urllib
import re
import pymysql
import sysreload(sys)
sys.setdefaultencoding('utf8')db = pymysql.Connect(host=host, port=3306, user="root", passwd=passwd, db=db, charset='utf8')
cursor = db.cursor()# 将字符串中数字取出来
def string_to_int(string):return re.findall(r'\d+\.?\d*',string)# 将身份证id和归属地放在一个list里
def id_name_spider():url = 'http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/20180910291042.html'h = urllib.urlopen(url=url).read()res_pat = '<td class=xl7024103>(.*?)</td>'res = re.compile(res_pat, re.S).findall(h)# 里面包含空字符串,利用filter函数过滤掉所有的''res_list = filter(None, res)return res_listif __name__ == '__main__':res_list = id_name_spider()param_list = []for i in range(0, len(res_list) / 2):id = string_to_int(res_list[i * 2])[0]name = res_list[i * 2 + 1]# 清洗一下if "<span style='mso" in name:name = re.compile("(.*?)<span .*?</span>", re.S).findall(name)[0]province_id = id[:2]city_id = id[2:4]district_id = id[4:]if city_id == '00' and district_id == '00':# 说明是省insert_sql_param = '(%s,"%s",%s,%s,%s)' % (id, name, 1, 0, 0)elif district_id == '00':# 说明是市insert_sql_param = '(%s,"%s",%s,%s,%s)' % (id, name, 0, 1, 0)else:# 说明是区县insert_sql_param = '(%s,"%s",%s,%s,%s)' % (id, name, 0, 0, 1)param_list.append(insert_sql_param)# 因为条数大概在3.5k条左右,一条一条提交很慢,所以改成一个长sqlinsert_sql_param_concat = ",".join(param_list)insert_sql = 'insert into cardno_local (id,name,province,city,district) values ' + insert_sql_param_concat + ';'print insert_sql# 执行sql并提交cursor.execute(insert_sql)db.commit()

【爬虫】身份证前6位区域划分编码爬取相关推荐

  1. kivy学习二:做一个查询所在地区身份证前6位的小软件

    经过半个月的尝试,终于成功,记录下来备查! 做完之后发现有很多的问题没有解决,请大佬多批评指教! 强烈建议:学习KIVY的查看官方文档 需要用的知识: 1.字典的相关知识 2.kivy的下拉列表(Dr ...

  2. 大datatable 内存一直涨_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...

    今天 小帅b要跟你说说增量爬虫 是这样的当你去爬取某个网站的数据时 你会发现这些网站随着时间的推移会更新更多的网页数据 这时候你要爬取的是那些更新的网页数据 而不是又一次爬取整站的内容 对于一些稍微复 ...

  3. 【爬虫实战】Python 自制天气预报程序!爬取全国天气网

    学会了爬虫,让我们自制一个天气预报的爬虫吧! 需求分析 1.用 requests 爬取 全国天气网 的网页源代码: 2.用 pyquery 解析网页源代码,取得天气情况信息的节点: 3.用 xlwt ...

  4. Python爬虫: 单网页 所有静态网页 动态网页爬取

    Python爬虫: 单网页 所有静态网页 动态网页爬取 前言:所有页代码主干均来自网上!!!感谢大佬们. 其实我对爬虫还挺感兴趣的,因为我玩instagram(需要科学上网),上过IG的人都知道IG虽 ...

  5. Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库

    一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库 目录 一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库 第一步:创建项目,搭建项目结构 p ...

  6. JAVA爬虫(一):豆瓣电影排行榜爬取

    JAVA爬虫(一):豆瓣电影排行榜爬取 前言 流程图 步骤 一.爬取豆瓣电影榜单网页源代码 二.网页源码解析 三.爬取单个电影网页源码 四.源代码解析及关键信息获取 前言 最近和大创队友一起给大创做的 ...

  7. 爬虫项目实战一:基于Scrapy+MongDB爬取并存储糗事百科用户信息

    爬虫项目实战一:基于Scrapy+MongDB爬取并存储糗事百科用户信息 一.前言 二.项目目标 三.项目的环境配置 四.项目实现 1. 创建QSBK项目 2. 实现Spider 1. 实现一页网页上 ...

  8. Python爬虫新手入门教学(十三):爬取高质量超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  9. 【python实现网络爬虫(5)】第一个Scrapy爬虫实例项目(Scrapy原理及Scrapy爬取名言名句网站信息)

    Scrapy介绍 总共有五部分组成的:具体的流程可看图示 引擎.调度器.下载器.蜘蛛和项目管道 爬取流程 针对于每个URL, Scheduler -> Downloader -> Spid ...

  10. CSDN爬虫(四)——博客专家(所有)爬取+数据分析

    CSDN爬虫(四)--博客专家(所有)爬取+数据分析 说明 开发环境:jdk1.7+myeclipse10.7+win74bit+mysql5.5+webmagic0.5.2+jsoup1.7.2 爬 ...

最新文章

  1. Asp.net mvc4用JQuery插件实现异步上传
  2. struct timeval结构体
  3. redmine备份_Redmine 数据迁移记录
  4. Angular self study 1 - Bootstrap
  5. 九章基础算法01:链表
  6. core dump python_python 源码笔记 ---- freeblock
  7. MySQL保存计算结果_在数据库中保存计算结果如何对应到相应的工程文件
  8. TX2在Turtlebot测试kobuki
  9. RNNoise降噪训练
  10. 取决于数学符号_科学发现的未来取决于开放
  11. mysql 是否支持Unix系统_在UNIX系统下安装MySQL
  12. Linux驱动子系统之I2C(一)
  13. vscode+svn
  14. 后端:发送短信(腾讯云)-nodejs
  15. sqlserver2008 R2数据库-不允许表修改保存,阻止保存要求重新创建表的更改
  16. MATLAB(2)--MATLAB矩阵的表示
  17. window系统安装msysgit(Git客户端软件)教程
  18. 闭关修炼——one——struts2
  19. 炎炎夏日,快用代码下场雨ヽ`☂ヽ`canvas
  20. DNF中伤害类型综合计算方式以及相关Excel文档

热门文章

  1. 不加群就可以提取QQ群成员
  2. WEB2.0概念诠释
  3. 每个设计师都应该了解的IOS编年史
  4. 【sketchup 2021】草图大师图像输出与渲染之Enscape渲染(优秀的实时渲染软件)的安装与软件说明,并在sketchup软件中调出Enscape软件和使用。
  5. java开发中索引越界异常怎么办?
  6. 楚留香服务器维护时间,《一梦江湖》手游官方网站_《楚留香》现已全面升级重制-3月9日维护更新公告...
  7. Flash:Flash动画设计案例集合(广告条制作/遮罩动画/扫光动画/书法手写遮罩动画)图文教程之详细攻略
  8. Neuralog.v2013.06 1CD (测井曲线智能矢量化软件)
  9. Ubuntu下的几种常见输入法极其配置方式
  10. 信息安全制度(用户篇)