updatezs
This commit is contained in:
parent
1a1e7671c6
commit
c5be9fdea2
|
|
@ -2,7 +2,7 @@ import requests
|
||||||
from urllib import parse
|
from urllib import parse
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
headers = {
|
headers = {
|
||||||
'Host': 'cx.saws.org.cn',
|
'Host': 'cx.mem.gov.cn',
|
||||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0',
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0',
|
||||||
'Accept': 'text/plain, */*; q=0.01',
|
'Accept': 'text/plain, */*; q=0.01',
|
||||||
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
|
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
|
||||||
|
|
@ -16,8 +16,9 @@ headers = {
|
||||||
def getTzzs(certnum,stu_name):#特种证书(身份证号,姓名,均是字符)
|
def getTzzs(certnum,stu_name):#特种证书(身份证号,姓名,均是字符)
|
||||||
certtype_code='720'
|
certtype_code='720'
|
||||||
stu_name=parse.quote(parse.quote(stu_name))
|
stu_name=parse.quote(parse.quote(stu_name))
|
||||||
sessionId = eval(requests.post('http://cx.saws.org.cn/cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
sessionId = eval(requests.post('http://cx.mem.gov.cn//cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
||||||
url = "http://cx.saws.org.cn/cms/html/certQuery/certQuery.do?method=getCertQueryResult&ref=ch&certtype_code="+certtype_code+"&certnum="+certnum+"&stu_name="+stu_name+'&passcode=1234'+'&sessionId='+sessionId
|
print(sessionId)
|
||||||
|
url = "http://cx.mem.gov.cn/cms/html/certQuery/certQuery.do?method=getCertQueryResult&ref=ch&certtype_code="+certtype_code+"&certnum="+certnum+"&stu_name="+stu_name+'&passcode=1234'+'&sessionId='+sessionId
|
||||||
data = requests.get(url,headers=headers).text
|
data = requests.get(url,headers=headers).text
|
||||||
tree = etree.HTML(data)
|
tree = etree.HTML(data)
|
||||||
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
||||||
|
|
@ -38,8 +39,8 @@ def getTzzs(certnum,stu_name):#特种证书(身份证号,姓名,均是字符)
|
||||||
def getAqzs(certnum,stu_name):#安全证书(身份证号,姓名,均是字符)
|
def getAqzs(certnum,stu_name):#安全证书(身份证号,姓名,均是字符)
|
||||||
certtype_code='720'
|
certtype_code='720'
|
||||||
stu_name=parse.quote(parse.quote(stu_name))
|
stu_name=parse.quote(parse.quote(stu_name))
|
||||||
sessionId = eval(requests.post('http://cx.saws.org.cn/cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
sessionId = eval(requests.post('http://cx.mem.gov.cn/cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
||||||
url = "http://cx.saws.org.cn/cms/html/certQuery/certQuery.do?method=getCertQueryResult2&ref=ch&certtype_code="+certtype_code+"&certnum="+certnum+"&stu_name="+stu_name+'&passcode=1234'+'&sessionId='+sessionId
|
url = "http://cx.mem.gov.cn/cms/html/certQuery/certQuery.do?method=getCertQueryResult2&ref=ch&certtype_code="+certtype_code+"&certnum="+certnum+"&stu_name="+stu_name+'&passcode=1234'+'&sessionId='+sessionId
|
||||||
data = requests.get(url,headers=headers).text
|
data = requests.get(url,headers=headers).text
|
||||||
tree = etree.HTML(data)
|
tree = etree.HTML(data)
|
||||||
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
||||||
|
|
@ -55,7 +56,6 @@ def getAqzs(certnum,stu_name):#安全证书(身份证号,姓名,均是字符)
|
||||||
x5=[]
|
x5=[]
|
||||||
for i in e5:
|
for i in e5:
|
||||||
x5.append(i.xpath("string(.)"))
|
x5.append(i.xpath("string(.)"))
|
||||||
print(e6)
|
|
||||||
for i in range(len(e1)):
|
for i in range(len(e1)):
|
||||||
cdata.append({'姓名':e1[i],'性别':e2[i],'资格类型':e3[i],'单位类型':e4[i],'发证机关':x5[i],'应复审日期':e7[i].strip(),'有效期开始时间':e8[i].strip(),'有效期结束时间':e9[i].strip(),'初领日期':e6[i].strip(),'url':url})
|
cdata.append({'姓名':e1[i],'性别':e2[i],'资格类型':e3[i],'单位类型':e4[i],'发证机关':x5[i],'应复审日期':e7[i].strip(),'有效期开始时间':e8[i].strip(),'有效期结束时间':e9[i].strip(),'初领日期':e6[i].strip(),'url':url})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ from sklearn import linear_model
|
||||||
from django.db.models import Sum
|
from django.db.models import Sum
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from .safespider import getTzzs, getAqzs
|
from .safespider import getTzzs, getAqzs
|
||||||
|
import time
|
||||||
dirname = settings.BASE_DIR +'/safesite/'
|
dirname = settings.BASE_DIR +'/safesite/'
|
||||||
|
|
||||||
def getcs(companyid):#获取公司相关参数设置
|
def getcs(companyid):#获取公司相关参数设置
|
||||||
|
|
@ -366,30 +367,30 @@ def checktask():
|
||||||
def updateTzzs():
|
def updateTzzs():
|
||||||
for x in Socertificate.objects.all():
|
for x in Socertificate.objects.all():
|
||||||
data = getTzzs(x.cardnum,x.realname)
|
data = getTzzs(x.cardnum,x.realname)
|
||||||
data1 = []
|
time.sleep(10)
|
||||||
if data:
|
if data:
|
||||||
for i in data:
|
for i in data:
|
||||||
if i['操作项目'] not in data1:
|
updated_values={
|
||||||
updated_values={
|
'realname':i['姓名'],
|
||||||
'realname':i['姓名'],
|
'gender':i['性别'],
|
||||||
'gender':i['性别'],
|
'zylb':i['作业类别'],
|
||||||
'zylb':i['作业类别'],
|
'czxm':i['操作项目'],
|
||||||
'czxm':i['操作项目'],
|
'fzjg':i['发证机关'],
|
||||||
'fzjg':i['发证机关'],
|
'ccfzrq':i['初次发证日期'] if i['初次发证日期'] else None,
|
||||||
'ccfzrq':i['初次发证日期'] if i['初次发证日期'] else None,
|
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
||||||
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
||||||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
||||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None,
|
||||||
'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None,
|
'user':x.user,
|
||||||
}
|
'usecomp':x.usecomp
|
||||||
try:
|
}
|
||||||
updated_values['zszt'] = guoqi(i['应复审日期'])
|
try:
|
||||||
except:
|
updated_values['zszt'] = guoqi(i['应复审日期'])
|
||||||
pass
|
except:
|
||||||
obj, created = Socertificate.objects.update_or_create(
|
pass
|
||||||
cardnum=x.cardnum, czxm=i['操作项目'], defaults=updated_values)
|
obj, created = Socertificate.objects.update_or_create(
|
||||||
data1.append(i['操作项目'])
|
cardnum=x.cardnum, czxm=i['操作项目'], defaults=updated_values)
|
||||||
else:
|
try:
|
||||||
obj = Socertificate.objects.get(cardnum=x.cardnum, czxm=i['操作项目'])
|
obj = Socertificate.objects.get(cardnum=x.cardnum, czxm=i['操作项目'])
|
||||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
||||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
||||||
|
|
@ -402,6 +403,10 @@ def updateTzzs():
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
obj.save()
|
obj.save()
|
||||||
|
except:
|
||||||
|
obj = Socertificate(**updated_values)
|
||||||
|
obj.save()
|
||||||
|
|
||||||
def guoqi(x):
|
def guoqi(x):
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
now1 = datetime.datetime.now() + datetime.timedelta(days=180)
|
now1 = datetime.datetime.now() + datetime.timedelta(days=180)
|
||||||
|
|
@ -416,30 +421,29 @@ def guoqi(x):
|
||||||
def updateAqzs():
|
def updateAqzs():
|
||||||
for x in Safecert.objects.all():
|
for x in Safecert.objects.all():
|
||||||
data = getAqzs(x.cardnum,x.realname)
|
data = getAqzs(x.cardnum,x.realname)
|
||||||
data1 = []
|
time.sleep(10)
|
||||||
if data:
|
if data:
|
||||||
for i in data:
|
for i in data:
|
||||||
if i['资格类型'] not in data1:
|
updated_values={
|
||||||
updated_values={
|
'realname':i['姓名'],
|
||||||
'realname':i['姓名'],
|
'gender':i['性别'],
|
||||||
'gender':i['性别'],
|
'zglx':i['资格类型'],
|
||||||
'zglx':i['资格类型'],
|
'dwlx':i['单位类型'],
|
||||||
'dwlx':i['单位类型'],
|
'fzjg':i['发证机关'],
|
||||||
'fzjg':i['发证机关'],
|
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
||||||
'ccfzrq':i['初领日期'] if i['初领日期'] else None,
|
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
||||||
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
||||||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
'user':x.user,
|
||||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
'usecomp':x.usecomp
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
updated_values['zszt'] = guoqi(i['有效期结束时间'])
|
updated_values['zszt'] = guoqi(i['有效期结束时间'])
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
obj, created = Safecert.objects.update_or_create(
|
obj, created = Safecert.objects.update_or_create(
|
||||||
cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'], defaults=updated_values)
|
cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'], defaults=updated_values)
|
||||||
data1.append(i['资格类型'])
|
try:
|
||||||
else:
|
obj = Safecert.objects.get(cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'])
|
||||||
obj = Safecert.objects.get(cardnum=x.cardnum, czxm=i['资格类型'])
|
|
||||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
||||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
||||||
obj.yxqkssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
obj.yxqkssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
||||||
|
|
@ -449,4 +453,8 @@ def updateAqzs():
|
||||||
obj.zszt = zsst
|
obj.zszt = zsst
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
obj.save()
|
obj.save()
|
||||||
|
except:
|
||||||
|
obj = Safecert(**updated_values)
|
||||||
|
obj.save()
|
||||||
|
|
||||||
|
|
@ -4850,7 +4850,7 @@ def apitool(req):
|
||||||
for i in Partment.objects.filter(iscompany=1):
|
for i in Partment.objects.filter(iscompany=1):
|
||||||
obj,created = Map.objects.get_or_create(usecomp=i,defaults={'name':'默认地图','pic':'/static/safesite/mystatic/images/snc.jpg','usecomp':i})
|
obj,created = Map.objects.get_or_create(usecomp=i,defaults={'name':'默认地图','pic':'/static/safesite/mystatic/images/snc.jpg','usecomp':i})
|
||||||
if created:
|
if created:
|
||||||
print(i.partname+'建立默认地图')
|
print(i.partname + '建立默认地图')
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a == 'panjuan':
|
elif a == 'panjuan':
|
||||||
test = ExamTest.objects.get(id=req.GET.get('test'))
|
test = ExamTest.objects.get(id=req.GET.get('test'))
|
||||||
|
|
@ -4916,6 +4916,10 @@ def apitool(req):
|
||||||
num = num + 1
|
num = num + 1
|
||||||
print(str(num) + obj.examtest.name + obj.user.name + '得分' + str(score))
|
print(str(num) + obj.examtest.name + obj.user.name + '得分' + str(score))
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
|
elif a == 'correct_aqzs':
|
||||||
|
from .tasks import updateAqzs
|
||||||
|
updateAqzs()
|
||||||
|
return JsonResponse({"code":1})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue