def post(self, requests): self.online_info = UserOnlineInfo() telephone = requests.POST.get('telephone') commu_obj = CommuInformation.objects.filter( telephone_num=telephone).first() if commu_obj: online_obj = UserOnlineInfo.objects.filter( stu_id=commu_obj.stu_id).first() if online_obj.online_status == '1': return JsonResponse(json_response(-1, '已经在线了', data={})) if online_obj.online_status == '0': UserOnlineInfo.objects.filter(stu_id=commu_obj.stu_id).update( online_status='1') data = {'token': online_obj.token} return JsonResponse(json_response(1, '登录成功', data=data)) self.online_info.stu_id = commu_obj.stu_id self.online_info.online_status = 1 encoding_str = 'Clamorous' + commu_obj.stu_id + telephone token = self.init_md5(encoding_str.encode('utf8')) self.online_info.token = token self.online_info.save() data = {'token': token} return JsonResponse(json_response(1, '登录成功', data=data)) else: return JsonResponse(json_response(-1, '没有对应学生,请修改手机号信息', data={}))
def get_job(requests): if requests.method == "GET": page = requests.GET.get('page', 0) page = int(page) print('page:', page) if page < 0: return JsonResponse(json_response(-1, '页面参数错误', data={})) if page == 0: start_item = 0 end_item = 10 else: start_item = (page - 1) * 10 end_item = page * 10 jobs = EmployeeInfo.objects.filter(id__gte=start_item).filter( id__lt=end_item) data = [] for job in jobs: # 把Object对象转换成Dict对象 dict = { 'id': job.id, 'company_name': job.company_name, 'job_name': job.job_name, 'address': job.address, 'putdate': job.putdate, 'responsibility': job.responsibility, 'telephone': job.telephone, 'qualification': job.qualification, 'e_mail': job.e_mail, 'remarks': job.remarks, 'linkman': job.linkman, } data.append(dict) return JsonResponse(json_response(1, '成功', data=data))
def zhaopin(requests): if requests.method == "POST": page = requests.POST.get('page') print(page) base_url = 'http://graduate.buct.edu.cn/jycy/xyzp/' if int(page) == 0: rq_url = 'http://graduate.buct.edu.cn/jycy/xyzp/index.htm' else: rq_url = 'http://graduate.buct.edu.cn/jycy/xyzp/index{}.htm'.format( page) headers = {'Connection': 'close'} resp = rq.get(rq_url, headers=headers) data = [] soup_string = BeautifulSoup(resp.content.decode('utf8'), "html.parser") try: div_list = soup_string.find(name='div', class_='list02') lis = div_list.find(name='ul').find_all(name='li') except Exception as e: print(e) return JsonResponse(json_response(-1, '没有更多数据', data=data)) i = 1 for li in lis: date = li.find(name='span').text alabel = li.find(name='a') atext = alabel.text pattern = re.compile('【(.*?)】') result = re.search(pattern, atext) item = {} content = atext try: style = result.group(0) item['style'] = style content = atext.replace(style, '') except Exception as e: item['style'] = '' item['detail_url'] = base_url + alabel['href'] item['id'] = i item['date'] = date item['content'] = content md5 = init_md5(item['detail_url']) result = CampusHireInfo.objects.filter(md5=md5).first() if not result: obj = CampusHireInfo(style=item['style'], date=item['date'], \ detail_url=item['detail_url'], content=item['content'], md5=md5) obj.save() else: item['date'] = result.date item['style'] = result.style item['detail_url'] = result.detail_url item['content'] = result.content i += 1 data.append(item) return JsonResponse(json_response(1, '成功', data=data)) data = [] return JsonResponse(json_response(-1, '请求方式有误', data=data))
def post(self, requests): telephone = requests.POST.get('telephone') commu_obj = CommuInformation.objects.filter( telephone_num=telephone).first() if commu_obj: online_obj = UserOnlineInfo.objects.filter( stu_id=commu_obj.stu_id).first() if online_obj.online_status == '1': UserOnlineInfo.objects.filter(stu_id=commu_obj.stu_id).update( online_status='0') return JsonResponse(json_response(1, '下线成功', data={})) if online_obj.online_status == '0': return JsonResponse(json_response(-1, '已经是下线状态', data={})) else: return JsonResponse(json_response(-1, '没有对应学生,下线失败', data={}))
def get_research(requests): if requests.method == "POST": page = requests.POST.get('page') base_url = 'http://research.buct.edu.cn/zlcg/' if int(page) == 0: rq_url = 'http://research.buct.edu.cn/zlcg/index.htm' else: rq_url = 'http://research.buct.edu.cn/zlcg/index{}.htm'.format( page) resp = rq.get(rq_url) data = [] try: soup_string = BeautifulSoup(resp.content, "html.parser") notice_list = soup_string.find(name='ul', class_='notice_list') lis = notice_list.find_all(name='li') except Exception as e: print(e) return JsonResponse(json_response(-1, '没有更多数据', data=data)) i = 1 for li in lis: item = {} span = li.find(name='span') item['id'] = i item['day'] = span.find(name='i').text.strip() alabel = li.find(name='a') item['style'] = alabel.find(name='span').text.strip() item['month'] = span.find(name='strong').text.strip() item['detail_url'] = base_url + alabel['href'] alabel.span.decompose() item['content'] = alabel.text.strip() md5 = init_md5(item['detail_url']) result = ResearchInfo.objects.filter(md5=md5).first() if not result: obj = ResearchInfo(day=item['day'],style=item['style'],month=item['month'], \ detail_url=item['detail_url'],content=item['content'],md5=md5) obj.save() else: item['day'] = result.day item['style'] = result.style item['month'] = result.month item['detail_url'] = result.detail_url item['content'] = result.content data.append(item) i += 1 return JsonResponse(json_response(1, '成功', data=data)) data = [] return JsonResponse(json_response(-1, '请求方式有误', data=data))
def get_research_detail(requests): if requests.method == "GET": data = {} url = requests.GET.get('url', '') try: resp = rq.get(url) soup_string = BeautifulSoup(resp.content.decode('utf8'), "html.parser") html = soup_string.find(name='div', class_='pageArticle article02') imgs = html.find_all(name='img') for img in imgs: img['src'] = img['src'].replace('../..', 'http://graduate.buct.edu.cn') data['html'] = str(html) return JsonResponse(json_response(1, '成功', data=data)) except Exception as e: print(e) return JsonResponse(json_response(-1, '请求网页失败', data=data)) data = [] return JsonResponse(json_response(-1, '请求方式有误', data=data))
def get(self, requests): return JsonResponse(json_response(-1, '请求方式错误', data={}))