下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
import http.cookiejarimport urllib.requestimport urllib.parsefrom PIL import Imageimport gzip,re,randomclass Crawler_self: def __init__(self): self.Cr_header_data = { 'Accept':'text/HTML,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-EnCoding':'gzip,deflate,sdch','Accept-Language':'zh-CN,zh;q=0.8','Cache-Control':'no-cache','Connection':'keep-alive','Pragma':'no-cache','upgrade-insecure-requests':'1','User-Agent':'Mozilla/5.0 (windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/45.0.2454.101 Safari/537.36' } def Cr_get_web_List(self,re_data): #取得网页给定规则数据列表 cer = re.compile(r'<p\s+.*?>(\d\d\d\d\d\d)<span>') strList = cer.findall(re_data) return strList def Cr_get_cookies_opener(self,url_1): #取得cookies cj = http.cookiejar.cookieJar() pro = urllib.request.httpcookieProcessor(cj) opener = urllib.request.build_opener(pro) header = [] for key,value in self.Cr_header_data.items(): #加载请求头 elem = (key,value) header.append(elem) opener.addheaders = header return opener.open(url_1) def Cr_read_data(self,data,de_code='utf-8'): return self.Cr_ungzip(data.read()).decode(de_code) def Cr_ungzip(self,re_data): #解压网页 try: data = gzip.decompress(re_data) except: print('无需解压') return data def Cr_get_ares_List(self,url,de_code='utf-8'): b = self.Cr_get_cookies_opener(url) c = self.Cr_read_data(b,de_code) ares_List = self.Cr_get_web_List(c) #身份z前6位数字 return ares_List class Plan_IDcard: def __init__(self): self.W=[7,9,10,5,8,4,2,1,6,3,7,2] self.ID_num=[18,17,16,15,14,13,12,11,2] self.D_CHECK=['1','0','X','9','8','7','6','5','4','3','2'] self.ID_aXw = 0 def Plan_ID_card(self,ID_1,ID_num=10): # data = [] for each in range(ID_num): self.ID_aXw = 0 a = '%03d'% random.randint(0,999) ID=ID_1+a for i in range(len(self.W)): self.ID_aXw = self.ID_aXw + int(ID[i])*self.W[i] ID_mod = self.ID_aXw % 11 a = ID + self.D_CHECK[ID_mod] data.append(a) print(data) def get_year_moth_day(self,old = 10): #获得年月日 GD_YEAR = 2015 #以2015年计算 cc = int(old) while True: dd = random.randint(1,10) if dd%2 == 0: cc = GD_YEAR - cc + dd #取年 else: cc = GD_YEAR - cc - dd if cc >= GD_YEAR: print('...你输的年岁^_^过少.自动取随机年岁..') cc = 11 continue else: break dd = random.randint(1,12) #取月 if (dd in (1,12)): aa = random.randint(1,31) #取日 else: aa = random.randint(1,30) if dd == 2: if (cc%4==0) and (cc%100==0): aa = random.randint(1,29) else: aa = random.randint(1,28) bb= '%04d%02d%02d' %(cc,dd,aa) return(bb) if __name__ == '__main__': #最新县及县以上行政区划代码(截止2014年10月31日) url_1 = 'http://www.stats.gov.cn/tJsj/tjbz/xzqhdm/201504/t20150415_712722.HTML' a = Crawler_self() c = a.Cr_get_ares_List(url_1) while True: get_num = input('输要获取多少个身份z:') if get_num.isalnum() != True: print('请输入合法的数字') continue get_num = int(get_num)//10 if get_num==0: get_num = 1 year_old = input('请输入大约年龄:') if year_old.isalnum() != True: print('请输入合法的数字') continue for each in range(0,get_num): a_a = c[random.randint(0,len(c)-1)] dd = Plan_IDcard() b_b = dd.get_year_moth_day(year_old) dd.Plan_ID_card(a_a+b_b) break
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的任意生身份z号码(最新区域划分)全部内容,希望文章能够帮你解决任意生身份z号码(最新区域划分)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)