def echo(ws): q = request.args.get('q') data = json.loads(unquote(q)) try: run(data, ws) ws.send(json.dumps({'success': True})) except Exception as e: ws.send(json.dumps({'error': str(e)})) error_handler(e) return
def parse_label(json_html, label): text = '' try: html_elem = etree.HTML(json_html) text = ''.join( html_elem.xpath( '//p[@class="ptxt"]/label[text()="{}"]/..//text()'.format( label))) text = text.replace(label, '') except Exception as e: error_handler(e) return text
def get(self): payload = {'clientType': 2} payload.update(dict(userName=self.__username, password=self.__password)) response = self.__session.request(method='POST', url=BASE_URL + API, headers=HEADERS, data=payload, params=create_timestamp_querystring()) try: data = response.json() user_token = data.get('user').get('user_token') logger.info('自动登录成功') self.__token = user_token except Exception as e: error_handler(e)
def parse_university_major(json_html): try: html_elem = etree.HTML(json_html) div_elem = html_elem.xpath('//p[text()="教育经历"]/../../dd/div')[0] university = ''.join(div_elem.xpath('./span[2]/text()')) _major = div_elem.xpath('./span[position()>last()-3]/text()') for degrees_name in ['本科', '硕士', '博士', '大专']: if degrees_name in _major: _major.remove(degrees_name) major = ''.join(_major) return university, major except Exception as e: error_handler(e) return '', ''
def run(self, token): while True: response = self.request(token) logger.info('url: {} class: {} status: {}'.format( self.url, type(self), response.status_code)) try: data = response.json() if data.get('message') == '您的操作频繁,请稍后刷新再试' or data.get( 'errorCode') == 6: logger.info('系统反馈操作频繁,程序将睡眠1分钟') sleep(60) sleep(1) else: self.response = response return except Exception as e: error_handler(e) raise e
def get_xlsx(xlsx_name): try: return send_file(os.path.join(XLSX_PATH, xlsx_name)) except Exception as e: error_handler(e) return Response('文件不存在', 404)