圆月山庄资源网 Design By www.vgjia.com
前言
在跟进需求的时候,往往涉及到测试,特别是需要用到身份信息的时候,总绕不开身份证号码这个话题。之前在跟一个互联网产品的时候,需要很多身份证做测试,又不想装太多软件自动生成(有需要的小伙伴可自行搜索身份证号码自动生成软件),按照身份证规则现编也比较浪费时间,在处理身份数据时,Python就非常有用了。
方法示例如下
# Author:BeeLe # -*-coding:utf-8-*- # 生成身份证号码主程序 import urllib.request import requests from bs4 import BeautifulSoup import re import random import time import lxml # class IDCard(): def regiun(strarr): '''生成身份证前六位''' first = random.choice(strarr) return first def year(): '''生成年份''' # 1978为第一代身份证执行年份,now-18直接过滤掉小于18岁出生的年份 now = time.strftime('%Y') second = random.randint(1978, int(now) - 18) # age = int(now)-second # print('随机生成的身份证人员年龄为:'+str(age)) return second def month(): '''生成月份''' three = random.randint(1, 12) if three < 10: three = '0' + str(three) return three else: return three def day(year, month): '''生成日期''' four = getDay(year, month) # 日期小于10以下,前面加上0填充 if four < 10: four = '0' + str(four) return four return four def getDay(year, month): '''根据传来的年月份返回日期''' # 1,3,5,7,8,10,12月为31天,4,6,9,11为30天,2月闰年为28天,其余为29天 aday = 0 if month in (1, 3, 5, 7, 8, 10, 12): aday = random.randint(1, 31) elif month in (4, 6, 9, 11): aday = random.randint(1, 30) else: # 即为2月判断是否为闰年 if ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)): aday = random.randint(1, 28) else: aday = random.randint(1, 29) return aday def randoms(): '''生成身份证后四位''' five = random.randint(1, 9999) if five < 10: five = '000' + str(five) elif 10 < five < 100: five = '00' + str(five) elif 100 < five < 1000: five = '0' + str(five) return five # if __name__ == '__main__': def idcard(): # 通过爬取网页获取到身份证前六位 url = 'https://wenku.baidu.com/view/a55406b919e8b8f67d1cb920' request = urllib.request.Request(url) # 获取url的网页源码 response = urllib.request.urlopen(request) html = response.read() soup = BeautifulSoup(html, 'lxml') strarr = [] for info in soup.find_all(class_='expanded'): pattern = re.compile(r'\d{6}') b = re.findall(pattern, info.text) for item in b: strarr.append(item) for i in range(1, 2): first = regiun(strarr) second = year() three = month() four = day(second, three) last = randoms() IDCard = str(first) + str(second) + str(three) + str(four) + str(last) # print('随机生成的身份证号码为:' + IDCard) return IDCard # Idcard = idcard
总结
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月01日
2024年11月01日
- 群星《时光正好 电视剧影视原声带》[FLAC/分轨][234.11MB]
- 英雄联盟s14韩国队种子怎么排名 s14韩国队种子队伍排名一览
- 英雄联盟s14四强开始时间 英雄联盟s14四强赛程表一览
- 英雄联盟s14四强赛在哪举办 英雄联盟s14半决赛举办地点一览
- 《三国志8重制版》全女将一览
- 《英雄联盟》Faker第七次晋级决赛
- 《历史时代3》下载方法
- EchoVocalEnsemble-Innocence(2024)[WAV]
- BuceadorVoltio-Satelite(2024)[24-48]FLAC
- VilmPribyl-SmetanaDalibor(2024)[24Bit-WAV]
- 高通骁龙8至尊版亮相:性能领先A18 Pro达到40%,更有多项首发
- 2024骁龙峰会:自研Oryon CPU登陆手机、汽车丨骁龙8至尊版、骁龙至尊版汽车平台
- 稀有度拉满!首款小马宝莉背卡引爆网络热梗
- 群星《全糖少爷1 影视原声带》[320K/MP3][98.36MB]
- 群星《全糖少爷1 影视原声带》[FLAC/分轨][420.97MB]