updatezs
This commit is contained in:
parent
1a1e7671c6
commit
c5be9fdea2
|
|
@ -2,7 +2,7 @@ import requests
|
|||
from urllib import parse
|
||||
from lxml import etree
|
||||
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',
|
||||
'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',
|
||||
|
|
@ -16,8 +16,9 @@ headers = {
|
|||
def getTzzs(certnum,stu_name):#特种证书(身份证号,姓名,均是字符)
|
||||
certtype_code='720'
|
||||
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']
|
||||
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
|
||||
sessionId = eval(requests.post('http://cx.mem.gov.cn//cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
||||
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
|
||||
tree = etree.HTML(data)
|
||||
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
||||
|
|
@ -38,8 +39,8 @@ def getTzzs(certnum,stu_name):#特种证书(身份证号,姓名,均是字符)
|
|||
def getAqzs(certnum,stu_name):#安全证书(身份证号,姓名,均是字符)
|
||||
certtype_code='720'
|
||||
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']
|
||||
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
|
||||
sessionId = eval(requests.post('http://cx.mem.gov.cn/cms/html/certQuery/certQuery.do?method=getServerTime',headers=headers).text)['time']
|
||||
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
|
||||
tree = etree.HTML(data)
|
||||
e1 = tree.xpath("//th[text()='姓名']/following-sibling::td[1]/text()")
|
||||
|
|
@ -55,7 +56,6 @@ def getAqzs(certnum,stu_name):#安全证书(身份证号,姓名,均是字符)
|
|||
x5=[]
|
||||
for i in e5:
|
||||
x5.append(i.xpath("string(.)"))
|
||||
print(e6)
|
||||
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})
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ from sklearn import linear_model
|
|||
from django.db.models import Sum
|
||||
from django.conf import settings
|
||||
from .safespider import getTzzs, getAqzs
|
||||
import time
|
||||
dirname = settings.BASE_DIR +'/safesite/'
|
||||
|
||||
def getcs(companyid):#获取公司相关参数设置
|
||||
|
|
@ -366,10 +367,9 @@ def checktask():
|
|||
def updateTzzs():
|
||||
for x in Socertificate.objects.all():
|
||||
data = getTzzs(x.cardnum,x.realname)
|
||||
data1 = []
|
||||
time.sleep(10)
|
||||
if data:
|
||||
for i in data:
|
||||
if i['操作项目'] not in data1:
|
||||
updated_values={
|
||||
'realname':i['姓名'],
|
||||
'gender':i['性别'],
|
||||
|
|
@ -381,6 +381,8 @@ def updateTzzs():
|
|||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
||||
'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None,
|
||||
'user':x.user,
|
||||
'usecomp':x.usecomp
|
||||
}
|
||||
try:
|
||||
updated_values['zszt'] = guoqi(i['应复审日期'])
|
||||
|
|
@ -388,8 +390,7 @@ def updateTzzs():
|
|||
pass
|
||||
obj, created = Socertificate.objects.update_or_create(
|
||||
cardnum=x.cardnum, czxm=i['操作项目'], defaults=updated_values)
|
||||
data1.append(i['操作项目'])
|
||||
else:
|
||||
try:
|
||||
obj = Socertificate.objects.get(cardnum=x.cardnum, czxm=i['操作项目'])
|
||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
||||
|
|
@ -402,6 +403,10 @@ def updateTzzs():
|
|||
except:
|
||||
pass
|
||||
obj.save()
|
||||
except:
|
||||
obj = Socertificate(**updated_values)
|
||||
obj.save()
|
||||
|
||||
def guoqi(x):
|
||||
now = datetime.datetime.now()
|
||||
now1 = datetime.datetime.now() + datetime.timedelta(days=180)
|
||||
|
|
@ -416,20 +421,20 @@ def guoqi(x):
|
|||
def updateAqzs():
|
||||
for x in Safecert.objects.all():
|
||||
data = getAqzs(x.cardnum,x.realname)
|
||||
data1 = []
|
||||
time.sleep(10)
|
||||
if data:
|
||||
for i in data:
|
||||
if i['资格类型'] not in data1:
|
||||
updated_values={
|
||||
'realname':i['姓名'],
|
||||
'gender':i['性别'],
|
||||
'zglx':i['资格类型'],
|
||||
'dwlx':i['单位类型'],
|
||||
'fzjg':i['发证机关'],
|
||||
'ccfzrq':i['初领日期'] if i['初领日期'] else None,
|
||||
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
||||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
||||
'user':x.user,
|
||||
'usecomp':x.usecomp
|
||||
}
|
||||
try:
|
||||
updated_values['zszt'] = guoqi(i['有效期结束时间'])
|
||||
|
|
@ -437,9 +442,8 @@ def updateAqzs():
|
|||
pass
|
||||
obj, created = Safecert.objects.update_or_create(
|
||||
cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'], defaults=updated_values)
|
||||
data1.append(i['资格类型'])
|
||||
else:
|
||||
obj = Safecert.objects.get(cardnum=x.cardnum, czxm=i['资格类型'])
|
||||
try:
|
||||
obj = Safecert.objects.get(cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'])
|
||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
||||
obj.yxqkssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
||||
|
|
@ -450,3 +454,7 @@ def updateAqzs():
|
|||
except:
|
||||
pass
|
||||
obj.save()
|
||||
except:
|
||||
obj = Safecert(**updated_values)
|
||||
obj.save()
|
||||
|
||||
|
|
@ -4916,6 +4916,10 @@ def apitool(req):
|
|||
num = num + 1
|
||||
print(str(num) + obj.examtest.name + obj.user.name + '得分' + str(score))
|
||||
return JsonResponse({"code":1})
|
||||
elif a == 'correct_aqzs':
|
||||
from .tasks import updateAqzs
|
||||
updateAqzs()
|
||||
return JsonResponse({"code":1})
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue