999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于大數(shù)據(jù)+SpringBoot 技術(shù)的全國傳染病數(shù)據(jù)分析可視化平臺(tái)*

2023-03-24 18:31:30徐州工程學(xué)院洪保劉
關(guān)鍵詞:數(shù)據(jù)處理可視化數(shù)據(jù)庫

徐州工程學(xué)院 洪保劉

隨著互聯(lián)網(wǎng)時(shí)代的逐步發(fā)展,越來越多的人開始關(guān)注互聯(lián)網(wǎng)上的熱點(diǎn)新聞、時(shí)事政治等官方權(quán)威數(shù)據(jù),越來越多的網(wǎng)民也開始在互聯(lián)網(wǎng)上發(fā)布自己的日常生活、視頻評(píng)論等瑣事數(shù)據(jù)。互聯(lián)網(wǎng)產(chǎn)生的大量數(shù)據(jù)無法通過普通的軟件工具達(dá)到分析處理的目的,大數(shù)據(jù)處理技術(shù)于是應(yīng)運(yùn)而生。將大量數(shù)據(jù)收集、存儲(chǔ)在支持PB 級(jí)別的數(shù)據(jù)庫中,通過MapReduce、Spark 等大數(shù)據(jù)計(jì)算引擎實(shí)現(xiàn)對(duì)大量數(shù)據(jù)的處理分析,通過數(shù)據(jù)可視化技術(shù)將處理結(jié)果以圖表形式展現(xiàn)在平臺(tái)上,能夠讓所有網(wǎng)民清晰直觀地得到了解。本文首先介紹了隨著互聯(lián)網(wǎng)的發(fā)展,大數(shù)據(jù)處理技術(shù)的應(yīng)用越來越廣泛。然后通過Python 語言爬蟲技術(shù)獲取全國傳染病詳細(xì)數(shù)據(jù),并通過Hadoop大數(shù)據(jù)處理技術(shù)進(jìn)行收集、清洗、處理和計(jì)算,將處理結(jié)果傳輸?shù)組ySQL 數(shù)據(jù)庫中。最后,使用SpringBoot后端框架和ECharts 可視化技術(shù)展示數(shù)據(jù)。采用柱狀圖、時(shí)間線、折線圖、地圖和列表等圖表,并通過地圖顏色深淺、時(shí)間線和柱狀圖結(jié)合以及詳情按鈕等方式,展示了全國15 天的傳染病情況。這種處理數(shù)據(jù)通過可視化展示的方法,可以讓用戶更加清晰直觀地了解到相關(guān)信息。

1 爬取網(wǎng)絡(luò)數(shù)據(jù)腳本

1.1 腳本設(shè)計(jì)架構(gòu)

為了獲取展示的數(shù)據(jù)源,在網(wǎng)絡(luò)上進(jìn)行了查詢、篩選并最終確定了想要爬取的數(shù)據(jù)來源網(wǎng)站,確定爬蟲目標(biāo)之后,開始本腳本的編寫。

本腳本分為三部分:獲取源數(shù)據(jù)、提取數(shù)據(jù)和保存數(shù)據(jù)。第一部分使用Requests 模塊模擬瀏覽器訪問源數(shù)據(jù)所在的網(wǎng)址,獲取源代碼;第二部分使用RE 模塊提取源代碼中的源數(shù)據(jù),并轉(zhuǎn)換為JSON 格式;第三部分使用OS 模塊將源數(shù)據(jù)以結(jié)構(gòu)化的TXT 格式文本保存至本地磁盤。

腳本設(shè)計(jì)完成之后,為了每天都能爬到該網(wǎng)站的實(shí)時(shí)更新數(shù)據(jù),于是在Windows 上采用定時(shí)任務(wù)計(jì)劃程序[1],定于每天下午6 點(diǎn)執(zhí)行本腳本。

爬蟲結(jié)果數(shù)據(jù)保存到本地文件后并不是最終的結(jié)果,因?yàn)槲覀冞€需要使用大數(shù)據(jù)技術(shù)框架Hadoop 對(duì)數(shù)據(jù)進(jìn)行處理[2],而在Windows 系統(tǒng)上目前還不支持安裝Hadoop,所以我們還需要將本地文件通過Linux 系統(tǒng)上的Lrzsz 技術(shù)上傳到服務(wù)器中。

1.2 開發(fā)工具和運(yùn)行環(huán)境

開發(fā)工具:Python;需要安裝的Python 庫有:Requests;運(yùn)行環(huán)境:Windows 操作系統(tǒng)。

2 大數(shù)據(jù)框架處理數(shù)據(jù)

2.1 系統(tǒng)總體設(shè)計(jì)

2.1.1 系統(tǒng)架構(gòu)設(shè)計(jì)

承接爬蟲腳本獲取網(wǎng)絡(luò)數(shù)據(jù)到服務(wù)器后,平臺(tái)的開發(fā)就來到了第二階段,即大數(shù)據(jù)開發(fā)系統(tǒng),本系統(tǒng)是整個(gè)數(shù)據(jù)可視化平臺(tái)開發(fā)過程中最為關(guān)鍵也最為重要的一環(huán),對(duì)于大量數(shù)據(jù)的處理,其處理能力及結(jié)果直接影響了可視化數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性,當(dāng)前主流的數(shù)據(jù)處理技術(shù)如MySQL 已無法滿足大量數(shù)據(jù)的業(yè)務(wù)需求,于是本開發(fā)系統(tǒng)選擇了大數(shù)據(jù)技術(shù)框架,即Hadoop。本系統(tǒng)分為三個(gè)模塊,分別為數(shù)據(jù)清洗模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)存儲(chǔ)模塊。

2.1.2 系統(tǒng)架構(gòu)介紹本系統(tǒng)的開發(fā)架構(gòu)選擇了Hadoop 生態(tài)系統(tǒng),其中Flume 作為日志收集系統(tǒng)負(fù)責(zé)收集爬蟲腳本獲取到的數(shù)據(jù)文件并對(duì)其進(jìn)行清洗過濾[3];HDFS 分布式文件存儲(chǔ)系統(tǒng)負(fù)責(zé)存儲(chǔ)數(shù)據(jù)[4];Hive 數(shù)據(jù)庫工具負(fù)責(zé)分析處理數(shù)據(jù)[5];Sqoop 負(fù)責(zé)將處理后的結(jié)果數(shù)據(jù)遷移到MySQL 數(shù)據(jù)庫。Hadoop 作為分布式計(jì)算平臺(tái),經(jīng)過十幾年的發(fā)展其處理海量數(shù)據(jù)的能力已超越了市場中其他技術(shù),且普通用戶可以使用極低成本在自己的PC 機(jī)上搭建Hadoop 集群。

2.1.3 系統(tǒng)開發(fā)工具

根據(jù)系統(tǒng)的功能要求和架構(gòu)設(shè)計(jì),系統(tǒng)選定遠(yuǎn)程服務(wù)器的操作系統(tǒng)為Linux 并在阿里云購買了云服務(wù)器,利用Xshell 與遠(yuǎn)程服務(wù)器連接。

2.2 系統(tǒng)功能模塊設(shè)計(jì)

2.2.1 數(shù)據(jù)清洗模塊

數(shù)據(jù)清洗模塊主要用于將Python 爬蟲獲得的原始數(shù)據(jù)文件通過Flume 進(jìn)行數(shù)據(jù)的收集、清洗并上傳到HDFS 分布式文件存儲(chǔ)系統(tǒng)中。由于爬蟲獲得的數(shù)據(jù)是第三方網(wǎng)站服務(wù)器提供的數(shù)據(jù),還無法通過大數(shù)據(jù)處理技術(shù)來處理,所以使用Flume 來將原始數(shù)據(jù)進(jìn)行清洗過濾一些不需要的數(shù)據(jù),然后上傳到HDFS 等待Hive 來進(jìn)行真正的數(shù)據(jù)處理。

數(shù)據(jù)清洗的技術(shù)選型有很多,比如Flume 中收集過程中自定義的Interceptor 攔截器、或是數(shù)據(jù)上傳到HDFS過后編寫的Mapreduce、或是第三方ETL 技術(shù)軟件如Kettle 等,都可以對(duì)數(shù)據(jù)進(jìn)行清洗過濾。本系統(tǒng)選擇了Flume 自定義攔截器Interceptor。

Flume 在收集數(shù)據(jù)時(shí),由于爬蟲結(jié)果保存在了服務(wù)器上的統(tǒng)一目錄下,于是采用了Spooldir 類型的Source收集目錄下的所有數(shù)據(jù)文件。在數(shù)據(jù)到達(dá)File Channel之前,自定義Interceptor 攔截器對(duì)每個(gè)數(shù)據(jù)文件進(jìn)行清洗過濾,最后再到達(dá)HDFS Sink,將數(shù)據(jù)保存到HDFS分布式文件存儲(chǔ)系統(tǒng)中。

2.2.2 數(shù)據(jù)處理模塊

數(shù)據(jù)處理模塊主要使用Hive 數(shù)據(jù)庫工具對(duì)清洗后數(shù)據(jù)進(jìn)行處理分析,Hive 數(shù)據(jù)庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL 查詢功能,能將SQL 語句轉(zhuǎn)化為MapReduce 任務(wù)來執(zhí)行。Hive 的優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類似SQL 語句實(shí)現(xiàn)快速M(fèi)apReduce 統(tǒng)計(jì),使MapReduce 變得更加簡單,而不必開發(fā)專門的MapReduce應(yīng)用程序。Hive 十分適合對(duì)數(shù)據(jù)倉庫進(jìn)行統(tǒng)計(jì)分析。

由于Hive 默認(rèn)的底層計(jì)算引擎使用的是MapReduce,而MapReduce 進(jìn)行數(shù)據(jù)迭代時(shí)需要經(jīng)過落盤到系統(tǒng)磁盤上,這使得計(jì)算速度降低了許多,所以本系統(tǒng)使用TEZ--數(shù)據(jù)迭代在內(nèi)存上進(jìn)行,大大減少了IO 落盤的時(shí)間消耗。

Hive 數(shù)據(jù)處理分為三層:ODS 原始數(shù)據(jù)層、DWD 數(shù)據(jù)處理層、ADS 結(jié)果數(shù)據(jù)層。ODS 原始數(shù)據(jù)層存放的是Flume 收集清洗完成后保存在HDFS 上的數(shù)據(jù),通過Hive的Load Data 命令保存在這一層;DWD 數(shù)據(jù)處理層存放的是處理業(yè)務(wù)需求時(shí)創(chuàng)建的中間數(shù)據(jù)表,將ODS 層的數(shù)據(jù)表進(jìn)行了處理分析,為結(jié)果數(shù)據(jù)的完成創(chuàng)建做中間處理;ODS 結(jié)果數(shù)據(jù)層存放的是完成業(yè)務(wù)需求后的結(jié)果表,緊接著結(jié)果表數(shù)據(jù)將通過數(shù)據(jù)存儲(chǔ)模塊進(jìn)入MySQL 數(shù)據(jù)庫。

2.2.3 業(yè)務(wù)邏輯分析

為滿足全國傳染病數(shù)據(jù)展示的全面性,本系統(tǒng)提出了三個(gè)業(yè)務(wù)需求,具體分析過程如下。

業(yè)務(wù)需求1:每日全國各項(xiàng)總數(shù)據(jù)。首先,ods_total 表存儲(chǔ)每日各省份的各項(xiàng)數(shù)據(jù);其次,dwd_total 表對(duì)每日的各項(xiàng)數(shù)據(jù)進(jìn)行分組求和;最后,ads_total 表取消每日的分組依據(jù),為數(shù)據(jù)存儲(chǔ)模塊做準(zhǔn)備。業(yè)務(wù)需求2:當(dāng)前日最新各省份各項(xiàng)數(shù)據(jù)。根據(jù)最新日期對(duì)ods_total 表進(jìn)行過濾,取出dt='最新日期'的各省份各項(xiàng)數(shù)據(jù)。業(yè)務(wù)需求3:每日各省份總確診數(shù)。根據(jù)Provinces 字段不為空對(duì)ods_total表進(jìn)行過濾,取出每日各省份中第一行數(shù)據(jù),即各省份總數(shù)據(jù),最后篩選字段為confirmed_cases(總確診數(shù))的數(shù)據(jù)。

2.2.4 數(shù)據(jù)存儲(chǔ)模塊

數(shù)據(jù)存儲(chǔ)模塊主要用于將Hive 數(shù)據(jù)庫工具中的結(jié)果數(shù)據(jù)表數(shù)據(jù)通過Sqoop 數(shù)據(jù)遷移工具遷移到MySQL數(shù)據(jù)庫中。Sqoop 主要用于在Hadoop 與傳統(tǒng)數(shù)據(jù)庫如MySQL 間進(jìn)行數(shù)據(jù)的傳遞,Sqoop 專為大數(shù)據(jù)批量傳輸設(shè)計(jì),能夠分割數(shù)據(jù)集并創(chuàng)建Maptask 任務(wù)來處理每個(gè)區(qū)塊。Sqoop 在傳輸Hive 數(shù)據(jù)到MySQL 時(shí),需要在MySQL 中提前創(chuàng)建與Hive 中對(duì)應(yīng)表的表結(jié)構(gòu)一樣的空表,之后才可使用Sqoop 命令進(jìn)行傳輸,且需要指定MySQL 數(shù)據(jù)庫地址與Hive 在HDFS 上的地址。最終存儲(chǔ)到MySQL 數(shù)據(jù)庫的表。Day_province 表存儲(chǔ)的是每日各省份的總確診數(shù);TotalCases 表存儲(chǔ)的是每日全國總數(shù)據(jù)(總確診數(shù)、總疑似數(shù)、總治愈數(shù)、總死亡數(shù));Province_city 表存儲(chǔ)的是當(dāng)前日實(shí)時(shí)最新的各省份總數(shù)據(jù)。

3 Web 可視化平臺(tái)

3.1 系統(tǒng)總體設(shè)計(jì)

3.1.1 系統(tǒng)架構(gòu)設(shè)計(jì)

本平臺(tái)由兩個(gè)模塊實(shí)現(xiàn),分別為Web 前端模塊和Web后端模塊。Web 前端模塊負(fù)責(zé)設(shè)計(jì)渲染網(wǎng)站UI 界面和訪問后端API 接口獲取數(shù)據(jù),Web 后端模塊負(fù)責(zé)連接數(shù)據(jù)庫提取數(shù)據(jù)并創(chuàng)建API 接口提供數(shù)據(jù)給前端。

3.1.2 系統(tǒng)開發(fā)環(huán)境與運(yùn)行說明

系統(tǒng)在Windows 平臺(tái)下采用Idea 作為Ide 使用Java 進(jìn)行開發(fā),平臺(tái)主體使用SpringBoot 作為后端框架,ECharts作為前端可視化技術(shù),采用MySQL 作為數(shù)據(jù)庫。

系統(tǒng)運(yùn)行環(huán)境要求如下:

(1).Java8;(2).SpringBoot 框架:SpringMVC、.Spring 和.Mybatis;(3).MySQL 的Server 端在默認(rèn)端口運(yùn)行;(4).ECharts。

3.2 系統(tǒng)功能模塊設(shè)計(jì)

3.2.1 前端模塊

前端模塊是用戶訪問本平臺(tái)時(shí)第一眼看到的可視化UI 界面設(shè)計(jì),直接決定了圖表數(shù)據(jù)展示效果的好壞,通過前端基本技術(shù)HTML+CSS+JS 渲染界面,再由ECharts+Ajax 技術(shù)訪問后端模塊提供的接口獲取數(shù)據(jù)并設(shè)計(jì)圖表展示。

/templates/index.html 是ECharts 界面設(shè)計(jì)的主頁。

static 是ECharts 和頁面設(shè)計(jì)需要的靜態(tài)資源。

Controller 包是Ajax 訪問的API 接口,此類通過訪問后端模塊的API 接口獲取數(shù)據(jù)庫數(shù)據(jù)。

Entity 包是數(shù)據(jù)承載的實(shí)體類,數(shù)據(jù)成為實(shí)體類后再通過FastJson 轉(zhuǎn)換為前端需要的JSON 格式數(shù)據(jù)。

ECharts 是一款基于JavaScript 的數(shù)據(jù)可視化圖表庫,提供直觀、生動(dòng)、可交互、可個(gè)性化定制的數(shù)據(jù)可視化圖表。

3.2.2 后端模塊

后端模塊采用的是SpringBoot 框架,SpringBoot 是Spring 家族中的一個(gè)全新框架,用來簡化Spring 程序的創(chuàng)建和開發(fā)過程。在以往我們通過SpringMVC+Spring+MyBatis 框架進(jìn)行開發(fā)的時(shí)候,需要配置Web.XML,Spring 配置,MyBatis 配置,然后整合在一起,而Spring Boot 拋棄了繁瑣的XML 配置過程,采用大量默認(rèn)的配置來簡化我們的Spring 開發(fā)過程。

SpringBoot 化繁為簡,使開發(fā)變得更加的簡單迅速。在SpringBoot 框架中,Controller 層是與前端進(jìn)行交互,提供API 接口給前端獲取數(shù)據(jù)的控制層;Service 層是處理業(yè)務(wù)邏輯、調(diào)用持久化方法的服務(wù)層;DAO 層是與數(shù)據(jù)庫交互的持久化層。通過編寫Mapper 映射文件SQL語句訪問數(shù)據(jù)庫;Application.yml 是配置主程序的接口、Mapper 映射文件的路徑以及數(shù)據(jù)庫的連接信息等。

4 整體系統(tǒng)運(yùn)行測(cè)試

4.1 運(yùn)行環(huán)境

4.1.1 爬蟲腳本運(yùn)行環(huán)境

Python 3.10.1,使用Python 庫Requests、OS、RE、Time、JSON。跨平臺(tái)的系統(tǒng)設(shè)計(jì),測(cè)試環(huán)境為Windows10,Centos7。

4.1.2 大數(shù)據(jù)框架運(yùn)行環(huán)境

Flume-1.7.0、Hadoop-2.7.2、Hive-1.2.1、Sqoop-1.4.6、Tez-0.9.1、MySQL-5.5.47。系統(tǒng)安裝運(yùn)行在服務(wù)器上,服務(wù)器版本為Centos7。

4.1.3 Web 平臺(tái)運(yùn)行環(huán)境

后端技術(shù)選型:Java8、SpringBoot-2.2.2、MyBatis-1.3.0、MySQL-5.5.47。

前端技術(shù)選型:Html、CSS、JavasCript、jQuery-3.6.0、Ajax、ECharts。

4.2 運(yùn)行過程

4.2.1 爬蟲腳本運(yùn)行測(cè)試

腳本使用Python 運(yùn)行g(shù)et_yq_info_txt.py,運(yùn)行時(shí)創(chuàng)建數(shù)據(jù)結(jié)果保存的目錄,定時(shí)每天下午六點(diǎn)執(zhí)行該腳本,并將結(jié)果數(shù)據(jù)保存至此目錄下。數(shù)據(jù)爬取到Windows 系統(tǒng)本地文件后,服務(wù)器上使用Lrzsz 命令下載到dachuang_2022/data 目錄下。

4.2.2 大數(shù)據(jù)框架運(yùn)行測(cè)試

本框架首先啟動(dòng)Hadoop,使用Hadoop 安裝目錄下的/sbin 目錄下的start-all.sh 命令。

Hadoop 啟動(dòng)后執(zhí)行Flume 配置文件file-flumehdfs.Conf 收集并清洗數(shù)據(jù)文件到HDFS 分布式文件存儲(chǔ)系統(tǒng)上。

啟動(dòng)Hive 提取HDFS 上的數(shù)據(jù)映射成ODS 層原始數(shù)據(jù)表。

Hive 再通過編寫HQL 語句對(duì)原始數(shù)據(jù)表進(jìn)行處理分析,得到結(jié)果數(shù)據(jù)表。

Hive 最終處理完成的結(jié)果數(shù)據(jù)表再通過Sqoop 遷移數(shù)據(jù)到MySQL。

4.2.3 Web 平臺(tái)運(yùn)行測(cè)試

數(shù)據(jù)遷移到MySQL 數(shù)據(jù)庫后,進(jìn)入Web 平臺(tái)設(shè)計(jì)模塊。

首先配置SpringBoot 的pom.xml 導(dǎo)入MyBatis,SpringBoot 相關(guān)依賴;其次配置Application.yml。

DAO 層創(chuàng)建持久化接口,編寫Mapper 映射文件指定接口路徑并訪問數(shù)據(jù)庫。

Service 層創(chuàng)建業(yè)務(wù)接口,編寫實(shí)現(xiàn)類調(diào)用DAO 接口方法并編寫業(yè)務(wù)邏輯。

Controller 層創(chuàng)建控制接口,編寫方法指定映射地址并調(diào)用Service 接口方法獲取數(shù)據(jù),將數(shù)據(jù)以JSON 格式傳遞。

接下來進(jìn)入Web 前端模塊,首先配置前端技術(shù)所需的JS 文件,然后創(chuàng)建HTML 文件渲染設(shè)計(jì)UI 界面,使用Ajax 調(diào)用后端Controller 接口獲取數(shù)據(jù),并由ECharts 實(shí)現(xiàn)可視化。

我們通過大數(shù)據(jù)處理計(jì)算每日數(shù)據(jù)并與昨日數(shù)據(jù)進(jìn)行對(duì)比,通過Ajax 技術(shù)獲取后端結(jié)果數(shù)據(jù),動(dòng)態(tài)更新各項(xiàng)指標(biāo)的每日數(shù)據(jù),清晰反映每日數(shù)據(jù)變化。ECharts采用時(shí)間線、直方圖、折線圖、表格等形式,直觀地說明傳染病在不同地區(qū)的數(shù)據(jù)變化情況。此外,我們使用ECharts 繪制地圖功能,通過不同省份確診人數(shù)的大小來體現(xiàn)地區(qū)顏色的深淺,能夠直觀感受全國傳染病的分布情況。

5 結(jié)論

全國傳染病數(shù)據(jù)具有海量性、無規(guī)則性,也是未來互聯(lián)網(wǎng)數(shù)據(jù)將面臨的現(xiàn)狀,大數(shù)據(jù)處理技術(shù)正是為解決分析這類數(shù)據(jù)而生,其不僅具有高效率、低成本、高擴(kuò)容、高容錯(cuò)性的框架體系,同時(shí)具有支持存儲(chǔ)PB 級(jí)別的數(shù)據(jù)庫存儲(chǔ)和分布式存儲(chǔ)大量數(shù)據(jù)的分布式文件系統(tǒng),以及并行計(jì)算與運(yùn)行的處理框架。大數(shù)據(jù)技術(shù)處理分析后的數(shù)據(jù)結(jié)果最后存儲(chǔ)在了關(guān)系型數(shù)據(jù)庫中,這讓W(xué)eb可視化平臺(tái)的搭建簡單了許多,只需要從數(shù)據(jù)庫中提取結(jié)果數(shù)據(jù)并通過可視化技術(shù)在平臺(tái)上展示出來,便可以讓所有的網(wǎng)民看到全國傳染病的多方面分析、多圖表展示。大數(shù)據(jù)可視化擁有其海量數(shù)據(jù)的分析處理和可視化圖表的高可讀性兩大優(yōu)點(diǎn),讓傳染病狀況變得明了清晰,讓防護(hù)工作可以更有效地開展,讓居民對(duì)傳染病的嚴(yán)重性有更高的認(rèn)識(shí),對(duì)全國傳染病的把握控制有著至關(guān)重要的作用。

猜你喜歡
數(shù)據(jù)處理可視化數(shù)據(jù)庫
基于CiteSpace的足三里穴研究可視化分析
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
基于CGAL和OpenGL的海底地形三維可視化
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 伊人色综合久久天天| 内射人妻无套中出无码| 美女被躁出白浆视频播放| 色综合中文| 国产精品久久久久久久久久久久| 日韩精品一区二区三区大桥未久 | 呦女亚洲一区精品| 在线观看国产黄色| 福利一区在线| 国产成人精品一区二区三在线观看| 制服无码网站| 亚洲精品自拍区在线观看| 2020国产精品视频| 天天综合网在线| 国产91透明丝袜美腿在线| 日韩精品一区二区三区免费| 99在线视频网站| 亚洲精品国产精品乱码不卞 | 国产精选自拍| 在线观看网站国产| 亚洲Aⅴ无码专区在线观看q| 国产青青草视频| 91久久国产热精品免费| 黄色一及毛片| 高清无码手机在线观看| 亚洲中文精品人人永久免费| 爽爽影院十八禁在线观看| 精品国产成人av免费| 99在线观看免费视频| 国产成人精品亚洲日本对白优播| 国产99视频精品免费视频7| 91av国产在线| 青草视频久久| 亚洲欧洲美色一区二区三区| 丰满的少妇人妻无码区| 第一区免费在线观看| 久久婷婷综合色一区二区| 无码精油按摩潮喷在线播放 | 亚洲欧洲自拍拍偷午夜色无码| 国产精品香蕉在线观看不卡| 亚洲日本中文字幕乱码中文| 69av在线| 欧美α片免费观看| 久综合日韩| 日韩中文精品亚洲第三区| 在线观看无码av免费不卡网站| 91在线一9|永久视频在线| 毛片网站在线播放| 18禁色诱爆乳网站| 日韩毛片在线视频| 亚洲色图综合在线| 最新日本中文字幕| 日本不卡在线| 日本一区中文字幕最新在线| 久久精品无码中文字幕| 国产精品综合色区在线观看| 一级毛片基地| 国产精品乱偷免费视频| 亚洲视频色图| 免费高清自慰一区二区三区| 久久青草免费91线频观看不卡| 午夜视频免费试看| 国产91色| 狼友视频国产精品首页| 久久亚洲中文字幕精品一区| 国产在线精品网址你懂的| 国产精品视频猛进猛出| 真实国产乱子伦高清| 日本a∨在线观看| 欧美在线网| 国产精品永久在线| 国产精品亚欧美一区二区三区| 国产精品55夜色66夜色| 国产成人综合久久精品尤物| 试看120秒男女啪啪免费| 久久综合丝袜长腿丝袜| 日本午夜精品一本在线观看 | 亚洲精品国产成人7777| 91福利在线观看视频| 国产精品三级专区| 91精品视频播放| 好吊妞欧美视频免费|