最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

畢業(yè)設計 大數(shù)據疫情數(shù)據分析可視化系統(tǒng)

2023-03-21 10:15 作者:丹成學長  | 我要投稿

0 前言

?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。

為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天要分享的是

?? ?基于python的疫情爬蟲分析可視化系統(tǒng)

??學長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分

  • 工作量:3分

  • 創(chuàng)新點:3分

畢設幫助,選題指導,技術解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978


1 課題背景

自2019年12月12日武漢確診新型冠狀病毒患者開始,歷時三年之久的新冠疫情仍未結束。新型冠狀病毒肺炎(COVID-19)存在人畜跨界傳播、傳染性強、影響因素多樣、傳播途徑復雜等特點,導致肺炎疫情發(fā)病急、發(fā)展快、溯源分析難、社會危害大等問題。隨著新型冠狀病毒毒株的不斷變異,現(xiàn)出現(xiàn)了傳播性極強、免疫逃逸能力極高的變異病毒。 為更直觀、更專業(yè)地了解疫情的變化,本文設計了基于爬蟲、Dianjo、Pyecharts的COVID-19疫情信息可視化系統(tǒng)。該系統(tǒng)主要包括疫情模型預測、疫情信息可視化以及防疫措施指南三大功能,能夠實時動態(tài)展示疫情發(fā)展趨勢,并根據預測模型進行疫情預測以及提供有效的防疫措施。

2 實現(xiàn)效果

首頁

在這里插入圖片描述

動畫展示

在這里插入圖片描述

省份統(tǒng)計

在這里插入圖片描述

省排名

在這里插入圖片描述

3 Flask框架

簡介

Flask是一個基于Werkzeug和Jinja2的輕量級Web應用程序框架。與其他同類型框架相比,F(xiàn)lask的靈活性、輕便性和安全性更高,而且容易上手,它可以與MVC模式很好地結合進行開發(fā)。Flask也有強大的定制性,開發(fā)者可以依據實際需要增加相應的功能,在實現(xiàn)豐富的功能和擴展的同時能夠保證核心功能的簡單。Flask豐富的插件庫能夠讓用戶實現(xiàn)網站定制的個性化,從而開發(fā)出功能強大的網站。

本項目在Flask開發(fā)后端時,前端請求會遇到跨域的問題,解決該問題有修改數(shù)據類型為jsonp,采用GET方法,或者在Flask端加上響應頭等方式,在此使用安裝Flask-CORS庫的方式解決跨域問題。此外需要安裝請求庫axios。

Flask框架圖

相關代碼:

from flask import Flask, render_template
import csv
import codecs

web = Flask(__name__)

# 首頁
@web.route('/')
def index():
? ?return render_template('index.html')

# 疫情可視化動畫展示模塊
@web.route('/movie')
def movie_list():
? ?movies = [{'file':'top10省現(xiàn)有確診病例對比.mp4','title':'Top10省現(xiàn)有確診病例對比'},
? ? ? ? ? ? ?{'file':'Top15國現(xiàn)有確診病例對比.mp4','title':'Top15國現(xiàn)有確診病例對比'}]
? ?return render_template('movie.html',movies=movies)

# 中國新冠疫情實時數(shù)據地圖模塊
@web.route('/map')
def map():
? ?return render_template('map.html')

# 今日發(fā)生疫情省份統(tǒng)計模塊
@web.route('/pie')
def pie():
? ?with codecs.open(filename='../data/china_data.csv', mode='r', encoding='utf-8') as f:
? ? ? ?reader = csv.reader(f)
? ? ? ?head = next(reader)

? ? ? ?today_confirm1 = {}
? ? ? ?today_confirm2 = []
? ? ? ?for item in reader:
? ? ? ? ? ?args = tuple(item)
? ? ? ? ? ?today_confirm1.update({args[2]: args[3]})

? ? ? ?for key, value in today_confirm1.items():
? ? ? ? ? ?if (value != '0'):
? ? ? ? ? ? ? ?# today_confirm2.append({key: value})
? ? ? ? ? ? ? ?today_confirm2.append({'name': key, 'value': value})

? ? ? ?print(today_confirm2)

? ?return render_template('pie.html',today_confirm=today_confirm2)

# 各省累計確診排名模塊
@web.route('/rank')
def rank():
? ?with codecs.open('../data/china_data.csv', mode='r', encoding='utf-8') as f:
? ? ? ?reader = csv.reader(f)
? ? ? ?head = next(reader)

? ? ? ?province_name = []
? ? ? ?province_confirm = []
? ? ? ?for item in reader:
? ? ? ? ? ?args = tuple(item)
? ? ? ? ? ?# print(args)
? ? ? ? ? ?province_name.append(args[2])
? ? ? ? ? ?province_confirm.append(args[9])
? ? ? ?print(province_name)
? ? ? ?print(province_confirm)

? ?return render_template('rank.html', province_name=province_name,province_confirm=province_confirm)

web.run(debug=True)

4 Echarts

ECharts(Enterprise Charts)是百度開源的數(shù)據可視化工具,底層依賴輕量級Canvas庫ZRender。兼容了幾乎全部常用瀏覽器的特點,使它可廣泛用于PC客戶端和手機客戶端。ECharts能輔助開發(fā)者整合用戶數(shù)據,創(chuàng)新性的完成個性化設置可視化圖表。支持折線圖(區(qū)域圖)、柱狀圖(條狀圖)、散點圖(氣泡圖)、K線圖、餅圖(環(huán)形圖)等,通過導入 js 庫在 Java Web 項目上運行。

5 爬蟲

簡介

Scrapy是基于Twisted的爬蟲框架,它可以從各種數(shù)據源中抓取數(shù)據。其架構清晰,模塊之間的耦合度低,擴展性極強,爬取效率高,可以靈活完成各種需求。能夠方便地用來處理絕大多數(shù)反爬網站,是目前Python中應用最廣泛的爬蟲框架。Scrapy框架主要由五大組件組成,它們分別是調度器(Scheduler)、下載器(Downloader)、爬蟲(Spider)和實體管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。各個組件的作用如下:

  1. 調度器(Scheduler):說白了把它假設成為一個URL(抓取網頁的網址或者說是鏈接)的優(yōu)先隊列,由它來決定下一個要抓取的網址是 什么,同時去除重復的網址(不做無用功)。用戶可以自己的需求定制調度器。

  2. 下載器(Downloader):是所有組件中負擔最大的,它用于高速地下載網絡上的資源。Scrapy的下載器代碼不會太復雜,但效率高,主要的原因是Scrapy下載器是建立在twisted這個高效的異步模型上的(其實整個框架都在建立在這個模型上的)。

  3. 爬蟲(Spider):是用戶最關心的部份。用戶定制自己的爬蟲(通過定制正則表達式等語法),用于從特定的網頁中提取自己需要的信息,即所謂的實體(Item)。 用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面。

  4. 實體管道(Item Pipeline):用于處理爬蟲(spider)提取的實體。主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。

  5. Scrapy引擎(Scrapy Engine):Scrapy引擎是整個框架的核心.它用來控制調試器、下載器、爬蟲。實際上,引擎相當于計算機的CPU,它控制著整個流程。


官網架構圖

相關代碼:

# -*- coding: utf-8 -*-

import scrapy
import random
import time
from foodwake.items import FoodwakespiderItem


class FoodwakeSpider(scrapy.Spider):
? ?name = 'foodwake'
? ?allowed_domains = ['www.foodwake.com']
? ?start_urls = ['http://www.foodwake.com/category/food-class/0']

? ?# //:匹配任意位置的節(jié)點 @:匹配屬性
? ?def parse(self, response):
? ? ? ?for box in response.xpath('//div[@class="row margin-b2"]//a'):
? ? ? ? ? ?new_url = box.xpath('.//@href').extract()[0]
? ? ? ? ? ?yield scrapy.http.Request(new_url, callback=self.parse_item)

? ?def parse_item(self, response):
? ? ? ?for box in response.xpath('//div[@class="row margin-b2"]//a'):
? ? ? ? ? ?new_url = box.xpath('.//@href').extract()[0]
? ? ? ? ? ?yield scrapy.http.Request(new_url, meta={"url": new_url}, callback=self.parse_item_info)

? ?def parse_item_info(self, response):
? ? ? ?item = FoodwakespiderItem()
? ? ? ?name = response.xpath('//h1[@class="color-yellow"]/text()').extract()[0].strip()
? ? ? ?# food_nickname = ""
? ? ? ?# try:
? ? ? ?# ? ? nicknames = response.xpath('//h2[@class="h3 text-light"]/text()').extract()[0].strip()
? ? ? ?# ? ? food_nickname = nicknames.split(':')[1]
? ? ? ?# except:
? ? ? ?# ? ? food_nickname = "無"
? ? ? ?# url = response.meta["url"]
? ? ? ?infoList = []
? ? ? ?for box in response.xpath('//table[@class="table table-hover"]//tr'):
? ? ? ? ? ?tds = box.xpath('.//td')
? ? ? ? ? ?if len(tds) == 3:
? ? ? ? ? ? ? ?info = {}
? ? ? ? ? ? ? ?td_name = tds.xpath('.//text()').extract()[0]
? ? ? ? ? ? ? ?td_unit = tds.xpath('.//text()').extract()[1]
? ? ? ? ? ? ? ?td_value = ""
? ? ? ? ? ? ? ?try:
? ? ? ? ? ? ? ? ? ?td_value = td_unit + tds.xpath('.//text()').extract()[2]
? ? ? ? ? ? ? ? ? ?info[td_name] = td_value
? ? ? ? ? ? ? ?except:
? ? ? ? ? ? ? ? ? ?info[td_name] = td_unit
? ? ? ? ? ? ? ?infoList.append(info)
? ? ? ?item['name'] = name
? ? ? ?item['info'] = str(infoList)
? ? ? ?# item['url'] = url
? ? ? ?# item['nickname'] = food_nickname
? ? ? ?yield item
? ? ? ?print("······休眠 1 至 5 秒······")
? ? ? ?time.sleep(random.randint(1, 5))

6 最后

畢設幫助,選題指導,技術解答,歡迎打擾,見B站個人主頁

https://space.bilibili.com/33886978

畢業(yè)設計 大數(shù)據疫情數(shù)據分析可視化系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
新宾| 五大连池市| 沈丘县| 连云港市| 新巴尔虎右旗| 安泽县| 裕民县| 息烽县| 三亚市| 黎川县| 石泉县| 互助| 铜川市| 永城市| 阿城市| 天峻县| 田东县| 阿拉善左旗| 清河县| 阳朔县| 阜新市| 德格县| 泰兴市| 黄平县| 兴化市| 宿州市| 凭祥市| 时尚| 武宁县| 贵定县| 克山县| 惠东县| 阜康市| 舟山市| 梓潼县| 朝阳区| 洪湖市| 宁海县| 富宁县| 甘泉县| 松原市|