python之flask实现推荐算法的服务器

# -*- coding:utf-8 -*-
#!/usr/bin/env python
# encoding: utf-8
# Author: supeihuang
# Time: 2019/2/15 11:23
import logging
import time
import warnings
import pymysql
from flask import Flask, request, jsonify
from sklearn.externals import joblib
warnings.filterwarnings("ignore")

# 创建Logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# 创建Handler
# 终端Handler
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.DEBUG)

# 文件Handler
fileHandler = logging.FileHandler('log_prob.log', mode='w', encoding='UTF-8')
fileHandler.setLevel(logging.NOTSET)

# Formatter
formatter = logging.Formatter('%(asctime)s - %(name)s -[line:%(lineno)d]s- %(levelname)s - %(message)s')
consoleHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)

# 添加到Logger中
logger.addHandler(consoleHandler)
logger.addHandler(fileHandler)
app = Flask(__name__)

lightgbm_model = joblib.load("./coldDataMode1-15")
@app.route('/coldDataRecommend',methods=['POST'])
def getCsvData():
    start = time.time()
    #得到city_level,avg_price的列表
    city_level,avg_price=UpDate()
    # 所有原始的json数据
    rawJsonData= []
    #json中获取的所有数据
    outTestData=[]
    #接收json文件
    # rawJsonData = request.json
    jsonData = request.json
    rawJsonData.append(jsonData)
    # json数据包含三个字段map,userQueryInfo,userTagList
    userQueryInfo = []

    map = []
    #开始解析原始的json数据------------------------------------------------------startJsonData!
    # try:
    for part in rawJsonData:
        #存储map数据
        map.append(part["map"])
        #存储userQueryInfo的数据
        userQueryInfo.append(part["userQueryInfo"])
        #开始对map中的信息进行解析,map中有多个来源中选取数据------------------startMapData!
        try:
            for item in map:
                if "cf" in item:
                    cf = item["cf"]
                if "semanticTagsExplore" in item:
                    semanticTagsExplore = item["semanticTagsExplore"]
                if "graphStructure" in item:
                    graphStructure = item["graphStructure"]
                if "keywordVideo" in item:
                    keywordVideo = item["keywordVideo"]
                if "semanticCtr" in item:
                    semanticCtr = item["semanticCtr"]
                if "graphStructureVideo" in item:
                    graphStructureVideo = item["graphStructureVideo"]
                if "keyword" in item:
                    keyword = item["keyword"]
                if "cfVideo" in item:
                    cfVideo = item["cfVideo"]
                if "areaNews" in item:
                    areaNews = item["areaNews"]
                #开始从这些数据中取itemType,itemId的数据进行提取-----------------------------startImData!
                #临时存放itemId与itemType的变量
                tempData = []
                # im数据存储
                imData = []
                #存储所有的itemIdData的数据
                itemIdData = []
                #对这些数据进行分析
                for rawData in [cf, semanticTags
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值