Example #1
0
def comp_inform_infl(request):
    """
    企业相关资讯影响力
    :param request:
    :return:
    """
    comp_id = request.POST.get("comp_id", 2)
    start_time = request.GET.get("start_time", common.default_start_time)
    end_time = request.GET.get("end_time", common.default_end_time)

    data_sour_id_list = mysql_data.get_data_sour_id_list(int(comp_id))
    tal_infl_dict = mongo_data.get_tal_infl(data_sour_id_list,
                                            paras=settings.MONGO_PARA,
                                            start_time=start_time,
                                            end_time=end_time)

    tal_usr_def_infl = tal_infl_dict["tal_usr_def_infl"]
    tal_usr_def_neg_infl = tal_infl_dict["tal_usr_def_neg_infl"]

    contents = {
        "tal_usr_def_infl": tal_usr_def_infl,
        "tal_usr_def_neg_infl": tal_usr_def_neg_infl
    }

    return JsonResponse(contents)
Example #2
0
def app_comt(request):
    """
    目标app的评论信息,星级评分统计、不同情感值统计
    :param request:
    :return:
    """
    app_id = request.POST.get("app_id", 2)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(app_id))
    app_obj = source_media.AppStore(paras=settings.MONGO_PARA)
    app_comt_info = app_obj.get_app_comts_info(
        data_sour_id_list=data_sour_id_list)
    return JsonResponse(app_comt_info)
Example #3
0
def pro_weibo_usr_loc(request):
    """
    产品相关微博用户的地区分布详情
    :param request:
    :return:
    """
    pro_id = request.POST.get("pro_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(pro_id))
    loc_stas_dict = mongo_data.get_weibo_usr_loc_stas(
        data_sour_id_list,
        paras=settings.MONGO_PARA,
        start_time=start_time,
        end_time=end_time)
    return JsonResponse(loc_stas_dict)
Example #4
0
def pro_hot_med(request):
    """
    产品相关热门媒体排序
    :param request:
    :return:
    """
    pro_id = request.POST.get("pro_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(pro_id))
    hot_med_sort_list = mongo_data.get_hot_med_sort_list(
        data_sour_id_list,
        paras=settings.MONGO_PARA,
        start_time=start_time,
        end_time=end_time)[:10]
    contents = {"hot_med_sort_list": hot_med_sort_list}
    return JsonResponse(contents)
Example #5
0
def app_bd_info(request):
    """
    显示本应用最后一次出现在任意榜单的时间
    目标app榜单信息,以及目标app在榜单的前后app名称
    :param request:
    :return:
    """
    app_id = request.POST.get("app_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(app_id))
    app_obj = source_media.AppStore(paras=settings.MONGO_PARA)
    app_bd_info_obj = app_obj.get_app_bd_info_obj(
        data_sour_id_list=data_sour_id_list,
        start_time=start_time,
        end_time=end_time)
    return JsonResponse(app_bd_info_obj)
Example #6
0
def event_propagation_trace(request):
    """
    事件传播轨迹
    :param request:
    :return:
    """
    event_id = request.POST.get("event_id", 2)
    start_time = request.GET.get("start_time", common.default_start_time)
    end_time = request.GET.get("end_time", common.default_end_time)

    data_sour_id_list = mysql_data.get_data_sour_id_list(int(event_id))
    sort_dif_news_objs = mongo_data.get_sort_news_objs_list(
        data_sour_id_list,
        paras=settings.MONGO_PARA,
        start_time=start_time,
        end_time=end_time)
    contents = {"sort_dif_news_objs": sort_dif_news_objs[:5]}
    return JsonResponse(contents)
Example #7
0
def inform_list(request):
    """
    根据不同的公司,产品,事件选项得到排序后的新闻对象列表
    :param request:
    :return:
    """
    comp_id = request.POST.get("comp_id", 2)
    # product_id = request.POST.get("product_id", 2)
    # event_id = request.POST.get("event_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(comp_id))
    get_sort_news_objs_list = mongo_data.get_sort_news_objs_list(data_sour_id_list,
                                                                 paras=settings.MONGO_PARA,
                                                                 start_time=start_time,
                                                                 end_time=end_time)[:5]
    contents = {"get_sort_news_objs_list": get_sort_news_objs_list}
    return JsonResponse(contents)
Example #8
0
def pro_data_stas(request):
    """
    产品相关各个媒体的影响力统计
    :param request:
    :return:
    """
    pro_id = request.POST.get("pro_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(pro_id))
    sour_med_ins_dict = mongo_data.get_sour_med_ins_dict(
        paras=settings.MONGO_PARA)
    sgl_med_dict = {}
    for key in sour_med_ins_dict:
        sgl_med_dict[key] = sour_med_ins_dict[key].get_infl(
            data_sour_id_list, start_time=start_time,
            end_time=end_time)["usr_def_infl"]

    return JsonResponse(sgl_med_dict)
Example #9
0
def event_infl_overview(request):
    """
    事件相关的各个数据源的情感值影响力的比例值
    :param request:
    :return:
    """
    event_id = request.POST.get("event_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(event_id))
    sour_med_ins_dict = mongo_data.get_sour_med_ins_dict(
        paras=settings.MONGO_PARA)
    contents = {}
    for key in sour_med_ins_dict:
        contents[key] = sour_med_ins_dict[key].get_sent_infl(
            data_sour_id_list=data_sour_id_list,
            start_time=start_time,
            end_time=end_time)["usr_def_sent_infl_dict"]
    return JsonResponse(contents)
Example #10
0
def event_atti_stas(request):
    """
    媒体或用户对事件的态度统计
    :param request:
    :return:
    """

    event_id = request.POST.get("event_id", 2)
    start_time = request.GET.get("start_time",
                                 mysql_data.get_event_createtime(1))
    end_time = request.GET.get("end_time", common.default_end_time)
    atti_type = request.POST.get("atti_type", "media")

    data_sour_id_list = mysql_data.get_data_sour_id_list(int(event_id))
    sour_med_ins_dict = mongo_data.get_sour_med_ins_dict(
        paras=settings.MONGO_PARA)
    sent_dict = {"negative": 0, "positive": 0, "neutral": 0}

    if atti_type == "media":
        for ins in [
                sour_med_ins_dict["baidu_search"], sour_med_ins_dict["weixin"]
        ]:
            objs = ins.get_sent_stas(data_sour_id_list=data_sour_id_list,
                                     start_time=start_time,
                                     end_time=end_time)
            for obj in objs:
                sent_dict[obj["_id"]] += obj["count"]

    if atti_type == "user":
        for ins in [
                sour_med_ins_dict["baidu_tieba"],
                sour_med_ins_dict["baidu_zhidao"], sour_med_ins_dict["weibo"],
                sour_med_ins_dict["zhihu"]
        ]:
            objs = ins.get_sent_stas(data_sour_id_list=data_sour_id_list,
                                     start_time=start_time,
                                     end_time=end_time)
            for obj in objs:
                sent_dict[obj["_id"]] += obj["count"]

    return JsonResponse(sent_dict)
Example #11
0
def comp_offi_infl(request):
    """
    与企业相关的包含官网、微信官网、微博官网的新闻数量, 平均阅读量、点击量、转发量
    :param request:
    :return:
    """
    comp_id = request.POST.get("comp_id", 2)
    start_time = request.POST.get("start_time", common.default_start_time)
    end_time = request.POST.get("end_time", common.default_end_time)

    # 所有企业相关的data_sour_id
    data_sour_id_list = mysql_data.get_data_sour_id_list(int(comp_id))
    sour_med_list = ["baidu_search", "weibo", "weixin"]
    sour_med_ins_dict = mongo_data.get_sour_med_ins_dict(
        paras=settings.MONGO_PARA)
    avg_cli_rep_comt_dict = {}
    for sour_med in sour_med_list:

        avg_cli_rep_comt_dict[sour_med] = sour_med_ins_dict[
            sour_med].get_avg_cli_rep_comt_dict(data_sour_id_list,
                                                start_time=start_time,
                                                end_time=end_time)

    return JsonResponse(avg_cli_rep_comt_dict)