Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
 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)
Beispiel #4
0
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 '', ''
Beispiel #5
0
 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
Beispiel #6
0
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)