newmediamonitoring/monitor/views.py

1185 lines
66 KiB
Python

import csv
import datetime
import json
from collections import Counter
import jieba
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.db.models import Sum
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
from datetime import timedelta,date
# Create your views here.
from django.views.decorators.csrf import csrf_exempt
from dashboard.models import Weixin, Weixin_data, Toutiao_data, Weibo_data, Qita_jc, Group, Toutiao, Weibo, Qita, \
Douyin, Douyin_data, News, TimelinessMonitoring, Organization, Wrongly, NewMedia, Comment
from monitor.models import Test
import pandas as pd
@login_required
def new_media_public_opinion_weixin(request):
weixin = Weixin.objects.all()
group = Group.objects.all()
weixin_data = Weixin_data.objects.all().order_by('-comment')
res = []
for w in weixin_data:
o = dict()
o['id'] = str(w.id)
o['code'] = w.weixin.code
o['title'] = w.title
o['comment'] = w.comment
o['reply'] = w.reply
o['year'] = w.year
o['month'] = w.month
o['day'] = w.day
res.append(o)
return render(request, 'monitor/new-media-public-opinion-weixin.html',
{'res': res, 'weixin': weixin, 'group': group})
@login_required
def new_media_public_opinion_toutiao(request):
toutiao = Toutiao.objects.all()
group = Group.objects.all()
toutiao_data = Toutiao_data.objects.all().order_by('-count')
res = []
for t in toutiao_data:
o = dict()
o['id'] = str(t.id)
o['code'] = t.toutiao.code
o['image'] = t.toutiao.image
o['title'] = t.title
o['count'] = t.count
o['commentcount'] = t.commentcount
o['reply'] = t.reply
o['year'] = t.year
o['month'] = t.month
o['day'] = t.day
res.append(o)
return render(request, 'monitor/new-media-public-opinion-toutiao.html',
{'res': res, 'toutiao': toutiao, 'group': group})
@login_required
def new_media_public_opinion_douyin(request):
douyin = Douyin.objects.all()
group = Group.objects.all()
douyin_data = Douyin_data.objects.all().order_by('-comment')
res = []
for d in douyin_data:
o = dict()
o['id'] = str(d.id)
o['code'] = d.newmedia.code
o['image'] = d.newmedia.image
o['count'] = d.count
o['count_jc'] = d.count_jc
o['comment'] = d.comment
o['reply'] = d.reply
o['date'] = d.date
res.append(o)
return render(request, 'monitor/new-media-public-opinion-douyin.html',
{'res': res, 'douyin': douyin, 'group': group})
@login_required
def new_media_public_opinion_weibo(request):
weibo = Weibo.objects.all()
group = Group.objects.all()
weibo_data = Weibo_data.objects.all().order_by('-like')
res = []
for w in weibo_data:
o = dict()
o['id'] = str(w.id)
o['code'] = w.weibo.code
o['image'] = w.weibo.image
o['title'] = w.title
o['like'] = w.like
o['transpond'] = w.transpond
o['comment'] = w.comment
o['year'] = w.year
o['month'] = w.month
o['day'] = w.day
res.append(o)
return render(request, 'monitor/new-media-public-opinion-weibo.html', {'res': res, 'weibo': weibo, 'group': group})
@login_required
def new_media_public_opinion_qita(request):
qita = Qita.objects.all()
group = Group.objects.all()
qita_jc = Qita_jc.objects.all().order_by('-comment')
res = []
for q in qita_jc:
o = dict()
o['id'] = str(q.id)
o['type'] = q.qita.type
o['name'] = q.qita.name
o['image'] = q.qita.image
o['count'] = q.count
o['count_jc'] = q.count_jc
o['comment'] = q.comment
o['reply'] = q.reply
o['year'] = q.year
o['month'] = q.month
o['day'] = q.day
res.append(o)
return render(request, 'monitor/new-media-public-opinion-qita.html', {'res': res, 'qita': qita, 'group': group})
@login_required
def timeliness_monitoring_weixin(request):
now = datetime.datetime.now()
# 本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6 - now.weekday())
# 本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
if now.month == 12:
this_month_end = datetime.datetime(now.year, now.month , 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
else:
this_month_end = datetime.datetime(now.year, now.month, 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
# 新媒体数量
new_media_count = int(Weixin.objects.all().count()) + int(Weibo.objects.all().count()) + int(
Toutiao.objects.all().count()) + int(Douyin.objects.all().count()) + int(Qita.objects.all().count())
new_media_count_month = int(Weixin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Weibo.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Douyin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Qita.objects.filter(created__range=(this_month_start, this_month_end)).count())
new_media_count_week = int(Weixin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Weibo.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Douyin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Qita.objects.filter(created__range=(this_week_start, this_week_end)).count())
# 内容更新次数
update_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('update'))['nums']
# update_count_month = TimelinessMonitoring.objects.filter(created__range=(this_month_start,this_month_end)).aggregate(nums=Sum('update'))['nums']
# update_count_week = TimelinessMonitoring.objects.filter(created__range=(this_week_start,this_week_end)).aggregate(nums=Sum('update'))['nums']
comment_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('comment'))['nums']
wrongly_count = Wrongly.objects.all().count
sensitive_count = None
organization_count = Organization.objects.all().count()
organization_count_month = Organization.objects.filter(created__range=(this_month_start, this_month_end)).count()
organization_count_week = Organization.objects.filter(created__range=(this_week_start, this_week_end)).count()
timelinessmonitoring = TimelinessMonitoring.objects.filter(n_type='微信').order_by('n_name')
res = []
if timelinessmonitoring is not None:
paginator = Paginator(timelinessmonitoring, 6)
page = int(request.GET.get('page', 1))
try:
timelinessmonitoring = paginator.page(page)
except PageNotAnInteger:
timelinessmonitoring = paginator.page(1)
except EmptyPage:
timelinessmonitoring = paginator.page(paginator.num_pages)
for t in timelinessmonitoring:
o = dict()
o['n_type'] = t.n_type
o['count'] = TimelinessMonitoring.objects.filter(n_name=t.n_name).aggregate(nums=Sum('update'))['nums']
o['n_name'] = t.n_name
o['o_type'] = t.o_type
o['o_name'] = t.o_name
o['city'] = t.city
o['counties'] = t.counties
o['remark'] = t.remark
o['results'] = t.results
o['update'] = t.update
o['silet'] = t.silet
o['start_data'] = t.start_data
o['end_data'] = t.end_data
o['comment'] = t.comment
o['date'] = t.date
o['wrongly'] = Wrongly.objects.filter(n_name=t.n_name).count()
res.append(o)
return render(request, 'monitor/timeliness-monitoring-weixin.html',
{'new_media_count': new_media_count, 'new_media_count_month': new_media_count_month,
'new_media_count_week': new_media_count_week, 'wrongly_count': wrongly_count,
'organization_count': organization_count, 'update_count': update_count,
'comment_count': comment_count, 'organization_count_month': organization_count_month,
'organization_count_week': organization_count_week, 'res': res,
'timelinessmonitoring': timelinessmonitoring})
@login_required
def timeliness_monitoring_weibo(request):
now = datetime.datetime.now()
# 本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6 - now.weekday())
# 本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
# 新媒体数量
new_media_count = int(Weixin.objects.all().count()) + int(Weibo.objects.all().count()) + int(
Toutiao.objects.all().count()) + int(Douyin.objects.all().count()) + int(Qita.objects.all().count())
new_media_count_month = int(Weixin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Weibo.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Douyin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Qita.objects.filter(created__range=(this_month_start, this_month_end)).count())
new_media_count_week = int(Weixin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Weibo.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Douyin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Qita.objects.filter(created__range=(this_week_start, this_week_end)).count())
# 内容更新次数
update_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('update'))['nums']
# update_count_month = TimelinessMonitoring.objects.filter(created__range=(this_month_start,this_month_end)).aggregate(nums=Sum('update'))['nums']
# update_count_week = TimelinessMonitoring.objects.filter(created__range=(this_week_start,this_week_end)).aggregate(nums=Sum('update'))['nums']
comment_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('comment'))['nums']
wrongly_count = Wrongly.objects.all().count
sensitive_count = None
organization_count = Organization.objects.all().count()
organization_count_month = Organization.objects.filter(created__range=(this_month_start, this_month_end)).count()
organization_count_week = Organization.objects.filter(created__range=(this_week_start, this_week_end)).count()
timelinessmonitoring = TimelinessMonitoring.objects.filter(n_type='微博').order_by('n_name')
res = []
if timelinessmonitoring is not None:
paginator = Paginator(timelinessmonitoring, 6)
page = int(request.GET.get('page', 1))
try:
timelinessmonitoring = paginator.page(page)
except PageNotAnInteger:
timelinessmonitoring = paginator.page(1)
except EmptyPage:
timelinessmonitoring = paginator.page(paginator.num_pages)
for t in timelinessmonitoring:
o = dict()
o['n_type'] = t.n_type
o['count'] = TimelinessMonitoring.objects.filter(n_name=t.n_name).aggregate(nums=Sum('update'))['nums']
o['n_name'] = t.n_name
o['o_type'] = t.o_type
o['o_name'] = t.o_name
o['city'] = t.city
o['counties'] = t.counties
o['remark'] = t.remark
o['results'] = t.results
o['update'] = t.update
o['silet'] = t.silet
o['start_data'] = t.start_data
o['end_data'] = t.end_data
o['comment'] = t.comment
o['date'] = t.date
o['wrongly'] = Wrongly.objects.filter(n_name=t.n_name).count()
res.append(o)
return render(request, 'monitor/timeliness-monitoring-weibo.html',
{'new_media_count': new_media_count, 'new_media_count_month': new_media_count_month,
'new_media_count_week': new_media_count_week, 'wrongly_count': wrongly_count,
'organization_count': organization_count, 'update_count': update_count,
'comment_count': comment_count, 'organization_count_month': organization_count_month,
'organization_count_week': organization_count_week, 'res': res,
'timelinessmonitoring': timelinessmonitoring})
@login_required
def timeliness_monitoring_toutiao(request):
now = datetime.datetime.now()
# 本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6 - now.weekday())
# 本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
# 新媒体数量
new_media_count = int(Weixin.objects.all().count()) + int(Weibo.objects.all().count()) + int(
Toutiao.objects.all().count()) + int(Douyin.objects.all().count()) + int(Qita.objects.all().count())
new_media_count_month = int(Weixin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Weibo.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Douyin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Qita.objects.filter(created__range=(this_month_start, this_month_end)).count())
new_media_count_week = int(Weixin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Weibo.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Douyin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Qita.objects.filter(created__range=(this_week_start, this_week_end)).count())
# 内容更新次数
update_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('update'))['nums']
# update_count_month = TimelinessMonitoring.objects.filter(created__range=(this_month_start,this_month_end)).aggregate(nums=Sum('update'))['nums']
# update_count_week = TimelinessMonitoring.objects.filter(created__range=(this_week_start,this_week_end)).aggregate(nums=Sum('update'))['nums']
comment_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('comment'))['nums']
wrongly_count = Wrongly.objects.all().count
sensitive_count = None
organization_count = Organization.objects.all().count()
organization_count_month = Organization.objects.filter(created__range=(this_month_start, this_month_end)).count()
organization_count_week = Organization.objects.filter(created__range=(this_week_start, this_week_end)).count()
timelinessmonitoring = TimelinessMonitoring.objects.filter(n_type='今日头条').order_by('n_name')
res = []
if timelinessmonitoring is not None:
paginator = Paginator(timelinessmonitoring, 6)
page = int(request.GET.get('page', 1))
try:
timelinessmonitoring = paginator.page(page)
except PageNotAnInteger:
timelinessmonitoring = paginator.page(1)
except EmptyPage:
timelinessmonitoring = paginator.page(paginator.num_pages)
for t in timelinessmonitoring:
o = dict()
o['n_type'] = t.n_type
o['count'] = TimelinessMonitoring.objects.filter(n_name=t.n_name).aggregate(nums=Sum('update'))['nums']
o['n_name'] = t.n_name
o['o_type'] = t.o_type
o['o_name'] = t.o_name
o['city'] = t.city
o['counties'] = t.counties
o['remark'] = t.remark
o['results'] = t.results
o['update'] = t.update
o['silet'] = t.silet
o['start_data'] = t.start_data
o['end_data'] = t.end_data
o['comment'] = t.comment
o['date'] = t.date
o['wrongly'] = Wrongly.objects.filter(n_name=t.n_name).count()
res.append(o)
return render(request, 'monitor/timeliness-monitoring-toutiao.html',
{'new_media_count': new_media_count, 'new_media_count_month': new_media_count_month,
'new_media_count_week': new_media_count_week, 'wrongly_count': wrongly_count,
'organization_count': organization_count, 'update_count': update_count,
'comment_count': comment_count, 'organization_count_month': organization_count_month,
'organization_count_week': organization_count_week, 'res': res,
'timelinessmonitoring': timelinessmonitoring})
@login_required
def timeliness_monitoring_douyin(request):
now = datetime.datetime.now()
# 本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6 - now.weekday())
# 本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
# 新媒体数量
new_media_count = int(Weixin.objects.all().count()) + int(Weibo.objects.all().count()) + int(
Toutiao.objects.all().count()) + int(Douyin.objects.all().count()) + int(Qita.objects.all().count())
new_media_count_month = int(Weixin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Weibo.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Douyin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Qita.objects.filter(created__range=(this_month_start, this_month_end)).count())
new_media_count_week = int(Weixin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Weibo.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Douyin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Qita.objects.filter(created__range=(this_week_start, this_week_end)).count())
# 内容更新次数
update_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('update'))['nums']
# update_count_month = TimelinessMonitoring.objects.filter(created__range=(this_month_start,this_month_end)).aggregate(nums=Sum('update'))['nums']
# update_count_week = TimelinessMonitoring.objects.filter(created__range=(this_week_start,this_week_end)).aggregate(nums=Sum('update'))['nums']
comment_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('comment'))['nums']
wrongly_count = Wrongly.objects.all().count
sensitive_count = None
organization_count = Organization.objects.all().count()
organization_count_month = Organization.objects.filter(created__range=(this_month_start, this_month_end)).count()
organization_count_week = Organization.objects.filter(created__range=(this_week_start, this_week_end)).count()
timelinessmonitoring = TimelinessMonitoring.objects.filter(n_type__contains='抖音').order_by('n_name')
res = []
if timelinessmonitoring is not None:
paginator = Paginator(timelinessmonitoring, 6)
page = int(request.GET.get('page', 1))
try:
timelinessmonitoring = paginator.page(page)
except PageNotAnInteger:
timelinessmonitoring = paginator.page(1)
except EmptyPage:
timelinessmonitoring = paginator.page(paginator.num_pages)
for t in timelinessmonitoring:
o = dict()
o['n_type'] = t.n_type
o['count'] = TimelinessMonitoring.objects.filter(n_name=t.n_name).aggregate(nums=Sum('update'))['nums']
o['n_name'] = t.n_name
o['o_type'] = t.o_type
o['o_name'] = t.o_name
o['city'] = t.city
o['counties'] = t.counties
o['remark'] = t.remark
o['results'] = t.results
o['update'] = t.update
o['silet'] = t.silet
o['start_data'] = t.start_data
o['end_data'] = t.end_data
o['comment'] = t.comment
o['date'] = t.date
o['wrongly'] = Wrongly.objects.filter(n_name=t.n_name).count()
res.append(o)
return render(request, 'monitor/timeliness-monitoring-douyin.html',
{'new_media_count': new_media_count, 'new_media_count_month': new_media_count_month,
'new_media_count_week': new_media_count_week, 'wrongly_count': wrongly_count,
'organization_count': organization_count, 'update_count': update_count,
'comment_count': comment_count, 'organization_count_month': organization_count_month,
'organization_count_week': organization_count_week, 'res': res,
'timelinessmonitoring': timelinessmonitoring})
@login_required
def timeliness_monitoring_qita(request):
now = datetime.datetime.now()
# 本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6 - now.weekday())
# 本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) + datetime.timedelta(
hours=23, minutes=59, seconds=59)
# 新媒体数量
new_media_count = int(Weixin.objects.all().count()) + int(Weibo.objects.all().count()) + int(
Toutiao.objects.all().count()) + int(Douyin.objects.all().count()) + int(Qita.objects.all().count())
new_media_count_month = int(Weixin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Weibo.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Douyin.objects.filter(created__range=(this_month_start, this_month_end)).count()) + int(
Qita.objects.filter(created__range=(this_month_start, this_month_end)).count())
new_media_count_week = int(Weixin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Weibo.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Toutiao.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Douyin.objects.filter(created__range=(this_week_start, this_week_end)).count()) + int(
Qita.objects.filter(created__range=(this_week_start, this_week_end)).count())
# 内容更新次数
update_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('update'))['nums']
# update_count_month = TimelinessMonitoring.objects.filter(created__range=(this_month_start,this_month_end)).aggregate(nums=Sum('update'))['nums']
# update_count_week = TimelinessMonitoring.objects.filter(created__range=(this_week_start,this_week_end)).aggregate(nums=Sum('update'))['nums']
comment_count = TimelinessMonitoring.objects.all().aggregate(nums=Sum('comment'))['nums']
wrongly_count = Wrongly.objects.all().count
sensitive_count = None
organization_count = Organization.objects.all().count()
organization_count_month = Organization.objects.filter(created__range=(this_month_start, this_month_end)).count()
organization_count_week = Organization.objects.filter(created__range=(this_week_start, this_week_end)).count()
timelinessmonitoring = TimelinessMonitoring.objects.exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).order_by(
'n_name')
res = []
if timelinessmonitoring is not None:
paginator = Paginator(timelinessmonitoring, 6)
page = int(request.GET.get('page', 1))
try:
timelinessmonitoring = paginator.page(page)
except PageNotAnInteger:
timelinessmonitoring = paginator.page(1)
except EmptyPage:
timelinessmonitoring = paginator.page(paginator.num_pages)
for t in timelinessmonitoring:
o = dict()
o['n_type'] = t.n_type
o['count'] = TimelinessMonitoring.objects.filter(n_name=t.n_name).aggregate(nums=Sum('update'))['nums']
o['n_name'] = t.n_name
o['o_type'] = t.o_type
o['o_name'] = t.o_name
o['city'] = t.city
o['counties'] = t.counties
o['remark'] = t.remark
o['results'] = t.results
o['update'] = t.update
o['silet'] = t.silet
o['start_data'] = t.start_data
o['end_data'] = t.end_data
o['comment'] = t.comment
o['date'] = t.date
o['wrongly'] = Wrongly.objects.filter(n_name=t.n_name).count()
res.append(o)
return render(request, 'monitor/timeliness-monitoring-qita.html',
{'new_media_count': new_media_count, 'new_media_count_month': new_media_count_month,
'new_media_count_week': new_media_count_week, 'wrongly_count': wrongly_count,
'organization_count': organization_count, 'update_count': update_count,
'comment_count': comment_count, 'organization_count_month': organization_count_month,
'organization_count_week': organization_count_week, 'res': res,
'timelinessmonitoring': timelinessmonitoring})
@login_required
def error_monitoring(request):
wrongly = Wrongly.objects.all()
paginator = Paginator(wrongly, 8)
page = int(request.GET.get('page', 1))
try:
wrongly = paginator.page(page)
except PageNotAnInteger:
wrongly = paginator.page(1)
except EmptyPage:
wrongly = paginator.page(paginator.num_pages)
return render(request, 'monitor/error-monitoring.html',{'wrongly':wrongly})
@login_required
def sensitive_word_monitoring(request):
data = range(1,8)
return render(request, 'monitor/sensitive-word-monitoring.html',{'data':data})
@login_required
def comment_on_interactive_monitoring(request):
comment = Comment.objects.all().order_by('-date')
paginator = Paginator(comment, 8)
page = int(request.GET.get('page', 1))
try:
comment = paginator.page(page)
except PageNotAnInteger:
comment = paginator.page(1)
except EmptyPage:
comment = paginator.page(paginator.num_pages)
return render(request, 'monitor/comment-on-interactive-monitoring.html',{"comment":comment})
@login_required
def comment_on_interactive_monitoring_json(request):
data = Comment.objects.all()
r = []
for d in data:
content = d.comment
r.append(content)
# result = jieba.analyse.textrank(content, topK=400, withWeight=True)
seg_list = jieba.cut(str(r)) # 对文本进行分词
c = Counter()
for x in seg_list: # 进行词频统计
if len(x) > 1 and x != '\r\n':
c[x] += 1
res = []
for (k, v) in c.most_common(250): # 遍历输出高频词
# print('%s%s %s %d' % (' ' * (5 - len(k)), k, '*', v))
# 剔除不是汉字的值
if all(map(lambda c: '\u4e00' <= c <= '\u9fa5', k)):
o = dict()
o['name'] = k
o['value'] = v
res.append(o)
return HttpResponse(json.dumps({
"res": res
}))
@login_required
def monitoring_report(request):
news = News.objects.filter(type='3').order_by('-date')
count = News.objects.filter(type='3').count()
return render(request, 'monitor/monitoring-report.html', {'news': news, 'count': count})
@login_required
def monitoring_report_json(request):
news = News.objects.filter(type='3').order_by('date')
# year_now = datetime.datetime.now().year
# year = range(2019, int(year_now) + 1)
# month = range(1, 13)
news_list = []
for n in news:
o = dict()
# o['date'] = n.date
o['count'] = 1
o['year'] = str(n.date).split('-')[0]
o['month'] = str(n.date).split('-')[1]
news_list.append(o)
return JsonResponse(news_list,safe=False)
def test(request):
return render(request, 'monitor/test.html')
@login_required
def test_json(request):
res = []
with open('D:/2020/舆论监测平台/新媒体监测数据/平凉/Result_PL.csv', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
results = []
try:
for r in reader:
print(r[0])
results.append(r[5])
except:
print("777777777777777777777777777777777777777777777777")
seg_list = jieba.cut(str(results)) # 对文本进行分词
c = Counter()
for x in seg_list: # 进行词频统计
if len(x) > 1 and x != '\r\n':
c[x] += 1
for (k, v) in c.most_common(200): # 遍历输出高频词
if all(map(lambda c: '\u4e00' <= c <= '\u9fa5', k)):
o = dict()
o['name'] = k
o['value'] = v
res.append(o)
return HttpResponse(json.dumps({
"res": res
}))
@login_required
def timeliness_monitoring_json(request):
# timelinessmonitoring_lanzhou_weixin = \
# TimelinessMonitoring.objects.filter(city='兰州市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_lanzhou_weibo = \
# TimelinessMonitoring.objects.filter(city='兰州市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_lanzhou_toutiao = \
# TimelinessMonitoring.objects.filter(city='兰州市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_lanzhou_douyin = \
# TimelinessMonitoring.objects.filter(city='兰州市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_lanzhou_qita = \
# TimelinessMonitoring.objects.filter(city='兰州市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_jiayuguan_weixin = \
# TimelinessMonitoring.objects.filter(city__contains='嘉峪关', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiayuguan_weibo = \
# TimelinessMonitoring.objects.filter(city__contains='嘉峪关', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiayuguan_toutiao = \
# TimelinessMonitoring.objects.filter(city__contains='嘉峪关', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiayuguan_douyin = \
# TimelinessMonitoring.objects.filter(city__contains='嘉峪关', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiayuguan_qita = \
# TimelinessMonitoring.objects.filter(city__contains='嘉峪关').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_jinchang_weixin = \
# TimelinessMonitoring.objects.filter(city='金昌市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jinchang_weibo = \
# TimelinessMonitoring.objects.filter(city='金昌市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jinchang_toutiao = \
# TimelinessMonitoring.objects.filter(city='金昌市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jinchang_douyin = \
# TimelinessMonitoring.objects.filter(city='金昌市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jinchang_qita = \
# TimelinessMonitoring.objects.filter(city='金昌市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_jiuquan_weixin = \
# TimelinessMonitoring.objects.filter(city='酒泉市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiuquan_weibo = \
# TimelinessMonitoring.objects.filter(city='酒泉市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiuquan_toutiao = \
# TimelinessMonitoring.objects.filter(city='酒泉市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiuquan_douyin = \
# TimelinessMonitoring.objects.filter(city='酒泉市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_jiuquan_qita = \
# TimelinessMonitoring.objects.filter(city='酒泉市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_zhangye_weixin = \
# TimelinessMonitoring.objects.filter(city='张掖市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_zhangye_weibo = \
# TimelinessMonitoring.objects.filter(city='张掖市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_zhangye_toutiao = \
# TimelinessMonitoring.objects.filter(city='张掖市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_zhangye_douyin = \
# TimelinessMonitoring.objects.filter(city='张掖市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_zhangye_qita = \
# TimelinessMonitoring.objects.filter(city='张掖市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_wuwei_weixin = \
# TimelinessMonitoring.objects.filter(city='武威市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_wuwei_weibo = \
# TimelinessMonitoring.objects.filter(city='武威市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_wuwei_toutiao = \
# TimelinessMonitoring.objects.filter(city='武威市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_wuwei_douyin = \
# TimelinessMonitoring.objects.filter(city='武威市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_wuwei_qita = \
# TimelinessMonitoring.objects.filter(city='武威市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_baiyin_weixin = \
# TimelinessMonitoring.objects.filter(city='白银市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_baiyin_weibo = \
# TimelinessMonitoring.objects.filter(city='白银市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_baiyin_toutiao = \
# TimelinessMonitoring.objects.filter(city='白银市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_baiyin_douyin = \
# TimelinessMonitoring.objects.filter(city='白银市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_baiyin_qita = \
# TimelinessMonitoring.objects.filter(city='白银市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_tianshui_weixin = \
# TimelinessMonitoring.objects.filter(city='天水市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_tianshui_weibo = \
# TimelinessMonitoring.objects.filter(city='天水市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_tianshui_toutiao = \
# TimelinessMonitoring.objects.filter(city='天水市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_tianshui_douyin = \
# TimelinessMonitoring.objects.filter(city='天水市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_tianshui_qita = \
# TimelinessMonitoring.objects.filter(city='天水市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_pingliang_weixin = \
# TimelinessMonitoring.objects.filter(city='平凉市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_pingliang_weibo = \
# TimelinessMonitoring.objects.filter(city='平凉市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_pingliang_toutiao = \
# TimelinessMonitoring.objects.filter(city='平凉市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_pingliang_douyin = \
# TimelinessMonitoring.objects.filter(city='平凉市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_pingliang_qita = \
# TimelinessMonitoring.objects.filter(city='平凉市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_qingyang_weixin = \
# TimelinessMonitoring.objects.filter(city='庆阳市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_qingyang_weibo = \
# TimelinessMonitoring.objects.filter(city='庆阳市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_qingyang_toutiao = \
# TimelinessMonitoring.objects.filter(city='庆阳市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_qingyang_douyin = \
# TimelinessMonitoring.objects.filter(city='庆阳市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_qingyang_qita = \
# TimelinessMonitoring.objects.filter(city='庆阳市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_dingxi_weixin = \
# TimelinessMonitoring.objects.filter(city='定西市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_dingxi_weibo = \
# TimelinessMonitoring.objects.filter(city='定西市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_dingxi_toutiao = \
# TimelinessMonitoring.objects.filter(city='定西市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_dingxi_douyin = \
# TimelinessMonitoring.objects.filter(city='定西市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_dingxi_qita = \
# TimelinessMonitoring.objects.filter(city='定西市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_longnan_weixin = \
# TimelinessMonitoring.objects.filter(city='陇南市', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_longnan_weibo = \
# TimelinessMonitoring.objects.filter(city='陇南市', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_longnan_toutiao = \
# TimelinessMonitoring.objects.filter(city='陇南市', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_longnan_douyin = \
# TimelinessMonitoring.objects.filter(city='陇南市', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_longnan_qita = \
# TimelinessMonitoring.objects.filter(city='陇南市').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_gannan_weixin = \
# TimelinessMonitoring.objects.filter(city__contains='甘南', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_gannan_weibo = \
# TimelinessMonitoring.objects.filter(city__contains='甘南', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_gannan_toutiao = \
# TimelinessMonitoring.objects.filter(city__contains='甘南', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_gannan_douyin = \
# TimelinessMonitoring.objects.filter(city__contains='甘南', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_gannan_qita = \
# TimelinessMonitoring.objects.filter(city__contains='甘南').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
#
# timelinessmonitoring_linxia_weixin = \
# TimelinessMonitoring.objects.filter(city__contains='临夏', n_type='微信').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_linxia_weibo = \
# TimelinessMonitoring.objects.filter(city__contains='临夏', n_type='微博').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_linxia_toutiao = \
# TimelinessMonitoring.objects.filter(city__contains='临夏', n_type='今日头条').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_linxia_douyin = \
# TimelinessMonitoring.objects.filter(city__contains='临夏', n_type='抖音').aggregate(nums=Sum('update'))['nums']
# timelinessmonitoring_linxia_qita = \
# TimelinessMonitoring.objects.filter(city__contains='临夏').exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
# nums=Sum('update'))['nums']
# weixin = [timelinessmonitoring_lanzhou_weixin,timelinessmonitoring_jiayuguan_weixin,timelinessmonitoring_jinchang_weixin,timelinessmonitoring_jiuquan_weixin,timelinessmonitoring_zhangye_weixin,timelinessmonitoring_wuwei_weixin,timelinessmonitoring_baiyin_weixin,timelinessmonitoring_tianshui_weixin,timelinessmonitoring_pingliang_weixin,timelinessmonitoring_qingyang_weixin,timelinessmonitoring_dingxi_weixin,timelinessmonitoring_longnan_weixin,timelinessmonitoring_gannan_weixin,timelinessmonitoring_linxia_weixin]
# weibo = [timelinessmonitoring_lanzhou_weibo,timelinessmonitoring_jiayuguan_weibo,timelinessmonitoring_jinchang_weibo,timelinessmonitoring_jiuquan_weibo,timelinessmonitoring_zhangye_weibo,timelinessmonitoring_wuwei_weibo,timelinessmonitoring_baiyin_weibo,timelinessmonitoring_tianshui_weibo,timelinessmonitoring_pingliang_weibo,timelinessmonitoring_qingyang_weibo,timelinessmonitoring_dingxi_weibo,timelinessmonitoring_longnan_weibo,timelinessmonitoring_gannan_weibo,timelinessmonitoring_linxia_weibo]
# toutiao = [timelinessmonitoring_lanzhou_toutiao,timelinessmonitoring_jiayuguan_toutiao,timelinessmonitoring_jinchang_toutiao,timelinessmonitoring_jiuquan_toutiao,timelinessmonitoring_zhangye_toutiao,timelinessmonitoring_wuwei_toutiao,timelinessmonitoring_baiyin_toutiao,timelinessmonitoring_tianshui_toutiao,timelinessmonitoring_pingliang_toutiao,timelinessmonitoring_qingyang_toutiao,timelinessmonitoring_dingxi_toutiao,timelinessmonitoring_longnan_toutiao,timelinessmonitoring_gannan_toutiao,timelinessmonitoring_linxia_toutiao]
# douyin = [timelinessmonitoring_lanzhou_douyin,timelinessmonitoring_jiayuguan_douyin,timelinessmonitoring_jinchang_douyin,timelinessmonitoring_jiuquan_douyin,timelinessmonitoring_zhangye_douyin,timelinessmonitoring_wuwei_douyin,timelinessmonitoring_baiyin_douyin,timelinessmonitoring_tianshui_douyin,timelinessmonitoring_pingliang_douyin,timelinessmonitoring_qingyang_douyin,timelinessmonitoring_dingxi_douyin,timelinessmonitoring_longnan_douyin,timelinessmonitoring_gannan_douyin,timelinessmonitoring_linxia_douyin]
# qita = [timelinessmonitoring_lanzhou_qita,timelinessmonitoring_jiayuguan_qita,timelinessmonitoring_jinchang_qita,timelinessmonitoring_jiuquan_qita,timelinessmonitoring_zhangye_qita,timelinessmonitoring_wuwei_qita,timelinessmonitoring_baiyin_qita,timelinessmonitoring_tianshui_qita,timelinessmonitoring_pingliang_qita,timelinessmonitoring_qingyang_qita,timelinessmonitoring_dingxi_qita,timelinessmonitoring_longnan_qita,timelinessmonitoring_gannan_qita,timelinessmonitoring_linxia_qita]
# print(weixin)
# print(weibo)
# print(toutiao)
# print(douyin)
# print(qita)
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date).aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date).aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date).aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date).aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date).aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date).aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date).aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date).aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date).aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date).aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date).aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date).aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date).aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date).aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def timeliness_monitoring_json_weixin(request):
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date,n_type='微信').aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def timeliness_monitoring_json_weibo(request):
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date,n_type='微博').aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def timeliness_monitoring_json_toutiao(request):
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date,n_type__contains='头条').aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def timeliness_monitoring_json_douyin(request):
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date,n_type__contains='抖音').aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def timeliness_monitoring_json_qita(request):
date = TimelinessMonitoring.objects.distinct('date')
date_list = []
lanzhou = []
jiayuguan = []
jinchang = []
jiuquan = []
zhangye = []
wuwei = []
baiyin = []
tianshui = []
pingliang = []
qingyang = []
dingxi = []
longnan = []
gannan = []
linxia = []
for d in date:
date_list.append(d.date)
lanzhou.append(TimelinessMonitoring.objects.filter(city__contains='兰州',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
jiayuguan.append(TimelinessMonitoring.objects.filter(city__contains='嘉峪关',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
jinchang.append(TimelinessMonitoring.objects.filter(city__contains='金昌',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
jiuquan.append(TimelinessMonitoring.objects.filter(city__contains='酒泉',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
zhangye.append(TimelinessMonitoring.objects.filter(city__contains='张掖',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
wuwei.append(TimelinessMonitoring.objects.filter(city__contains='武威',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
baiyin.append(TimelinessMonitoring.objects.filter(city__contains='白银',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
tianshui.append(TimelinessMonitoring.objects.filter(city__contains='天水',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
pingliang.append(TimelinessMonitoring.objects.filter(city__contains='平凉',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
qingyang.append(TimelinessMonitoring.objects.filter(city__contains='庆阳',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
dingxi.append(TimelinessMonitoring.objects.filter(city__contains='定西',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
longnan.append(TimelinessMonitoring.objects.filter(city__contains='陇南',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
gannan.append(TimelinessMonitoring.objects.filter(city__contains='甘南',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
linxia.append(TimelinessMonitoring.objects.filter(city__contains='临夏',date=d.date).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(nums=Sum('update'))['nums'])
return HttpResponse(json.dumps({
"status":"1",
"lanzhou":lanzhou,
"jiayuguan":jiayuguan,
"jinchang":jinchang,
"jiuquan":jiuquan,
"zhangye":zhangye,
"wuwei":wuwei,
"baiyin":baiyin,
"tianshui":tianshui,
"pingliang":pingliang,
"qingyang":qingyang,
"dingxi":dingxi,
"longnan":longnan,
"gannan":gannan,
"linxia":linxia,
"date":date_list,
}))
@login_required
def index_map(request):
name = request.GET.get('name').split('')[0]
timelinessmonitoring_weixin = \
TimelinessMonitoring.objects.filter(city__contains=name, n_type='微信').aggregate(nums=Sum('update'))['nums']
timelinessmonitoring_weibo = \
TimelinessMonitoring.objects.filter(city__contains=name, n_type='微博').aggregate(nums=Sum('update'))['nums']
timelinessmonitoring_toutiao = \
TimelinessMonitoring.objects.filter(city__contains=name, n_type='今日头条').aggregate(nums=Sum('update'))['nums']
timelinessmonitoring_douyin = \
TimelinessMonitoring.objects.filter(city__contains=name, n_type='抖音').aggregate(nums=Sum('update'))['nums']
timelinessmonitoring_qita = \
TimelinessMonitoring.objects.filter(city__contains=name).exclude(n_type__in=['微信', '微博', '今日头条', '抖音']).aggregate(
nums=Sum('update'))['nums']
return HttpResponse(json.dumps({
"status":"1",
"timelinessmonitoring_weixin":timelinessmonitoring_weixin,
"timelinessmonitoring_weibo":timelinessmonitoring_weibo,
"timelinessmonitoring_toutiao":timelinessmonitoring_toutiao,
"timelinessmonitoring_douyin":timelinessmonitoring_douyin,
"timelinessmonitoring_qita":timelinessmonitoring_qita,
}))
def index_newmedia_count(request):
date_list = [x.strftime('%Y-%m-%d') for x in list(pd.date_range(start='2020-09-01',end=datetime.datetime.now()))]
weixin_list = []
weibo_list = []
toutiao_list = []
douyin_list = []
qita_list = []
for d in date_list:
s = str(d).split('-')
weixin = Weixin.objects.filter(created__year=s[0],created__month=s[1],created__day=s[2]).count()
weixin_list.append(weixin)
weibo = Weibo.objects.filter(created__year=s[0],created__month=s[1],created__day=s[2]).count()
weibo_list.append(weibo)
toutiao = Toutiao.objects.filter(created__year=s[0],created__month=s[1],created__day=s[2]).count()
toutiao_list.append(toutiao)
douyin = Douyin.objects.filter(created__year=s[0],created__month=s[1],created__day=s[2]).count()
douyin_list.append(douyin)
qita = Qita.objects.filter(created__year=s[0],created__month=s[1],created__day=s[2]).count()
qita_list.append(qita)
return HttpResponse(json.dumps({
"status":"1",
"date_list":date_list,
"weixin":weixin_list,
"weibo":weibo_list,
"toutiao":toutiao_list,
"douyin":douyin_list,
"qita":qita_list,
}))
def index_warning_count(request):
# date_list = [x.strftime('%Y-%m-%d') for x in list(pd.date_range(start='2019-07-01',end=datetime.datetime.now()))]
# data = []
# for d in date_list:
# news = News.objects.filter(type='3',date=d).count()
# data.append(news)
# print(str(data)+"6666666666666666666666666666666")
date = News.objects.distinct('date').order_by('-date')
data = []
date_list = []
for d in date:
date_list.append(str(d.date))
news = News.objects.filter(type='3', date=str(d.date)).count()
data.append(news)
return HttpResponse(json.dumps({
"status":"1",
"data":data,
"date_list":date_list
}))