def analyse_artivle_url(): try: req_data = json.loads(request.data) url = req_data['url'] # user_id = req_data['openid'] result = wenzhi_utils.wenzhi_analyse_url(url) # topic_list = tagging_utils.passage_second_level_classify(web_content) tag_result = [] if result['code'] == 0: for class_item in result['classes']: class_type = class_item['class'] class_prob = class_item['conf'] tag_result.append({'tag': class_type, 'prob': class_prob}) return json.dumps({'code': 0, 'tag_result': tag_result}, ensure_ascii=False) except Exception, e: print e # print result return json.dumps({'code': 1, 'msg': 'unknown error, details = %s' % str(e)})
# a_id = article_id reaction_type = 'read' try: inst_user = DAO_utils.mongo_get_user(user_id, admin_id) except DAO_utils.DAOException, de: print de # 数据库中不存在该用户,则新建一个 inst_user = WechatUser(user_id=user_id, admin_id=admin_id) DAO_utils.mongo_insert_user(inst_user) user_atag_vec = inst_user.user_atag_vec user_tag_score_vec = inst_user.user_tag_score_vec weight = reaction_type_weight[reaction_type] try: a_tag_info = wenzhi_utils.wenzhi_analyse_url(article_url) # article = DAO_utils.mongo_get_article(a_id) for a_tag in a_tag_info['classes']: # 文章的tags应该是一个dict a_tag_key = a_tag['class'] if a_tag_key in user_atag_vec: user_atag_vec[a_tag_key] += weight * a_tag['conf'] else: user_atag_vec[a_tag_key] = weight * a_tag['conf'] except DAO_utils.DAOException, de: print de return {'code': 1, 'msg': 'error, details=%s' % de} # continue # 没有该文章在数据库中,则跳过 # 用户的atag_vec处理完毕,开始处理user_tag_score_vec # TODO 更好的权值赋值公式