欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

基于Streamlit的汽車(chē)銷(xiāo)售分析系統(tǒng):從爬蟲(chóng)到可視化的完整大數(shù)據(jù)項(xiàng)目

基于Streamlit的汽車(chē)銷(xiāo)售分析系統(tǒng):從爬蟲(chóng)到可視化的完整大數(shù)據(jù)項(xiàng)目 每年畢業(yè)設(shè)計(jì)選題季總有同學(xué)在“大數(shù)據(jù)分析”這個(gè)方向上猶豫不決。選純算法方向擔(dān)心推公式講不透選Web開(kāi)發(fā)方向又覺(jué)得不夠有技術(shù)含量選爬蟲(chóng)方向又容易做出一個(gè)沒(méi)有任何分析價(jià)值的腳本集合。如果你正好處在這樣的糾結(jié)里基于 Streamlit 構(gòu)建一個(gè)國(guó)內(nèi)汽車(chē)銷(xiāo)售分析系統(tǒng)是一個(gè)值得認(rèn)真考慮的選項(xiàng)。這個(gè)選題最大的優(yōu)勢(shì)在于它把 Python 爬蟲(chóng)、Hadoop 存儲(chǔ)、Spark 數(shù)據(jù)處理、Streamlit 可視化完整串成了一條數(shù)據(jù)鏈路。你不僅能展示“我會(huì)用某個(gè)框架”還能向答辯老師講清楚“數(shù)據(jù)從哪里來(lái)、經(jīng)過(guò)什么處理、最終如何呈現(xiàn)”。這篇文章會(huì)從選題價(jià)值、系統(tǒng)架構(gòu)、核心代碼實(shí)現(xiàn)、驗(yàn)證方式到答辯避坑把這個(gè)畢業(yè)設(shè)計(jì)題目的完整開(kāi)發(fā)思路拆開(kāi)講清楚。1. 這篇文章真正要解決的問(wèn)題很多畢業(yè)生做大數(shù)據(jù)分析項(xiàng)目最常見(jiàn)的翻車(chē)現(xiàn)場(chǎng)是項(xiàng)目演示時(shí)只有幾張?zhí)崆爱?huà)好的圖表老師問(wèn)“數(shù)據(jù)怎么更新的”答不上來(lái)問(wèn)“數(shù)據(jù)處理邏輯在哪里”只能指著一個(gè) SQL 文件說(shuō)“這就是清洗”。這種項(xiàng)目本質(zhì)上只是一個(gè)“靜態(tài)可視化頁(yè)面”談不上大數(shù)據(jù)分析。而基于 Streamlit 的汽車(chē)銷(xiāo)售分析系統(tǒng)核心價(jià)值在于它不是一個(gè)“畫(huà)圖工具”而是一整套完整的數(shù)據(jù)管道。通過(guò)爬蟲(chóng)獲取汽車(chē)銷(xiāo)量相關(guān)數(shù)據(jù)。把原始數(shù)據(jù)寫(xiě)入 Hadoop HDFS 做分布式存儲(chǔ)。用 Spark 對(duì)海量銷(xiāo)售記錄做清洗和聚合統(tǒng)計(jì)。最后通過(guò) Streamlit 提供交互式可視化面板讓用戶(hù)能按品牌、價(jià)格區(qū)間、地區(qū)、時(shí)間等維度自由篩選分析。這個(gè)選題適合以下人群有一定 Python 基礎(chǔ)希望在畢業(yè)設(shè)計(jì)中體現(xiàn)大數(shù)據(jù)技術(shù)棧但不想在研究分布式原理上耗費(fèi)過(guò)多精力的同學(xué)。它不需要你精通 Hadoop 源碼也不需要你開(kāi)發(fā)復(fù)雜的機(jī)器學(xué)習(xí)模型但要求你能把這些開(kāi)源組件搭建起來(lái)、串聯(lián)起來(lái)、把業(yè)務(wù)問(wèn)題跑通。這種“全鏈路”能力恰恰是很多企業(yè)招聘時(shí)看重的。2. 核心技術(shù)棧拆解每個(gè)組件真正負(fù)責(zé)什么項(xiàng)目名字里出現(xiàn)的每個(gè)技術(shù)名詞在實(shí)際系統(tǒng)中都有明確的分工不能只是羅列在簡(jiǎn)歷上。2.1 Python 與爬蟲(chóng)負(fù)責(zé)數(shù)據(jù)采集。汽車(chē)銷(xiāo)量數(shù)據(jù)通常分布在垂直資訊網(wǎng)站、行業(yè)數(shù)據(jù)平臺(tái)或公開(kāi)榜單中。使用 Python 的requests、BeautifulSoup、json等庫(kù)可以定時(shí)從這些渠道抓取品牌、車(chē)型、銷(xiāo)量、價(jià)格區(qū)間等字段。爬蟲(chóng)是系統(tǒng)的數(shù)據(jù)入口也是整個(gè)鏈路里最容易出問(wèn)題的環(huán)節(jié)因?yàn)槟繕?biāo)網(wǎng)頁(yè)結(jié)構(gòu)變化、反爬機(jī)制、數(shù)據(jù)格式不一致都會(huì)導(dǎo)致采集失敗。2.2 Hadoop HDFS負(fù)責(zé)原始數(shù)據(jù)存儲(chǔ)。爬蟲(chóng)抓下來(lái)的數(shù)據(jù)是散亂的 JSON 或 CSV 文本如果直接交給 Spark 分析會(huì)有大量臟數(shù)據(jù)。HDFS 在這里扮演的是“數(shù)據(jù)湖泊”的角色先把原始文件統(tǒng)一上傳到 HDFS 指定目錄再做后續(xù)清洗。在畢業(yè)設(shè)計(jì)環(huán)境中通常使用 Hadoop 偽分布式模式單機(jī)就能模擬真實(shí) HDFS 的文件讀寫(xiě)和副本機(jī)制。2.3 Spark負(fù)責(zé)數(shù)據(jù)清洗、統(tǒng)計(jì)分析和離線(xiàn)計(jì)算。它從 HDFS 讀取數(shù)據(jù)完成去重、缺失值處理、格式統(tǒng)一然后按品牌、地區(qū)、時(shí)間等維度做聚合統(tǒng)計(jì)。相比直接用 Pandas 處理Spark 的優(yōu)勢(shì)在于當(dāng)數(shù)據(jù)量達(dá)到百萬(wàn)級(jí)以上時(shí)它能利用分布式計(jì)算能力同一個(gè)聚合邏輯可以平滑地從單機(jī)擴(kuò)展到集群。這在畢業(yè)設(shè)計(jì)答辯中是一個(gè)非常加分的“工程化設(shè)計(jì)點(diǎn)”。2.4 Streamlit負(fù)責(zé)交互式可視化。Streamlit 是一個(gè) Python 開(kāi)源框架能用純 Python 腳本快速構(gòu)建數(shù)據(jù)應(yīng)用。它的核心特點(diǎn)是你寫(xiě)一個(gè)st.bar_chart刷新頁(yè)面就是一個(gè)圖表控件寫(xiě)一個(gè)st.selectbox就能生成下拉篩選框。不需要掌握 HTML、CSS、JavaScript幾十行代碼就能做一個(gè)可交互的數(shù)據(jù)面板非常適合畢業(yè)設(shè)計(jì)這種需要快速交付演示系統(tǒng)的場(chǎng)景。2.5 各技術(shù)棧的分工對(duì)比組件核心職責(zé)輸入輸出Python 爬蟲(chóng)數(shù)據(jù)采集公開(kāi)網(wǎng)頁(yè)或 API原始 CSV/JSON 文件Hadoop HDFS分布式存儲(chǔ)原始文件HDFS 上的數(shù)據(jù)文件Spark數(shù)據(jù)清洗與聚合HDFS 上的文件統(tǒng)計(jì)結(jié)果表MySQL / SQLite結(jié)果存儲(chǔ)Spark 輸出結(jié)果結(jié)構(gòu)化結(jié)果數(shù)據(jù)Streamlit可視化交互結(jié)果數(shù)據(jù)瀏覽器訪(fǎng)問(wèn)的分析面板3. 系統(tǒng)架構(gòu)與模塊劃分整個(gè)系統(tǒng)的架構(gòu)可以分成五個(gè)層次每一層都有一個(gè)清晰的數(shù)據(jù)入口和出口。數(shù)據(jù)采集層Python 爬蟲(chóng)定時(shí)抓取生成原始數(shù)據(jù)文件 ↓ 數(shù)據(jù)存儲(chǔ)層原始文件上傳 Hadoop HDFS ↓ 數(shù)據(jù)處理層Spark 讀取 HDFS完成清洗和聚合統(tǒng)計(jì) ↓ 結(jié)果存儲(chǔ)層統(tǒng)計(jì)結(jié)果寫(xiě)入 MySQL 或 SQLite ↓ 可視化層Streamlit 讀取結(jié)果庫(kù)生成交互式 Dashboard在畢業(yè)設(shè)計(jì)論文中建議第一張架構(gòu)圖就畫(huà)這個(gè)五層模型。相比只畫(huà)一個(gè)流程圖這個(gè)分層模式能清楚展示你對(duì)系統(tǒng)整體性的把握同時(shí)也是后期寫(xiě)各章分工的骨架。系統(tǒng)內(nèi)部模塊建議按功能拆分幾個(gè)獨(dú)立的 Python 包c(diǎn)rawler/爬蟲(chóng)模塊負(fù)責(zé)數(shù)據(jù)采集和本地落盤(pán)。storage/負(fù)責(zé) HDFS 文件上傳和目錄管理。spark_jobs/Spark 統(tǒng)計(jì)任務(wù)一個(gè)任務(wù)對(duì)應(yīng)一個(gè)分析維度。dashboard/Streamlit 頁(yè)面腳本負(fù)責(zé)可視化查詢(xún)。config/存放數(shù)據(jù)庫(kù)連接、HDFS 地址、爬蟲(chóng)目標(biāo)等配置文件。這樣拆分的好處是答辯時(shí)老師問(wèn)“你這個(gè)系統(tǒng)哪些模塊是獨(dú)立可復(fù)用的”你可以直接回答每一個(gè)包都可以單獨(dú)運(yùn)行、單獨(dú)測(cè)試不是一個(gè)所有代碼堆在同一個(gè) py 文件里的低質(zhì)量項(xiàng)目。4. 環(huán)境準(zhǔn)備與開(kāi)發(fā)環(huán)境搭建在開(kāi)始編碼之前先把環(huán)境準(zhǔn)備好。下面是一套適合畢業(yè)設(shè)計(jì)演示的推薦環(huán)境版本號(hào)請(qǐng)以官方文檔和實(shí)際安裝為準(zhǔn)不要機(jī)械照搬。4.1 Python 環(huán)境建議使用 Python 3.9 到 3.12 之間的穩(wěn)定版本。Streamlit 對(duì) Python 版本有一定要求過(guò)老的 Python 版本可能無(wú)法安裝最新版 Streamlit。使用虛擬環(huán)境管理依賴(lài)避免多個(gè)項(xiàng)目依賴(lài)互相污染。# 創(chuàng)建并激活虛擬環(huán)境 python -m venv venv source venv/bin/activate # Windows 請(qǐng)使用 venv\Scripts\activate # 安裝核心依賴(lài) pip install streamlit pip install pandas pip install plotly pip install pyspark pip install requests pip install beautifulsoup4 pip install pymysql pip install apscheduler如果你需要同時(shí)連接 Hadoop HDFS在純 Python 項(xiàng)目中可以使用hdfs庫(kù)來(lái)調(diào)用 WebHDFS 接口這比自己實(shí)現(xiàn) Hadoop RPC 協(xié)議要簡(jiǎn)單得多。pip install hdfs4.2 Hadoop 環(huán)境畢業(yè)設(shè)計(jì)推薦使用 Hadoop 偽分布式模式。偽分布式是指在單臺(tái)服務(wù)器上以獨(dú)立進(jìn)程模擬 NameNode、DataNode、SecondaryNameNode 等角色既能展示 HDFS 的核心機(jī)制又不需要多臺(tái)物理機(jī)。啟動(dòng)流程# 格式化 NameNode僅第一次啟動(dòng)時(shí)執(zhí)行 hdfs namenode -format # 啟動(dòng) HDFS 服務(wù) start-dfs.sh # 驗(yàn)證是否啟動(dòng)成功 jpsjps命令輸出中如果看到NameNode、DataNode、SecondaryNameNode三個(gè)進(jìn)程說(shuō)明 HDFS 核心節(jié)點(diǎn)已經(jīng)正常啟動(dòng)。創(chuàng)建項(xiàng)目數(shù)據(jù)目錄hdfs dfs -mkdir -p /user/student/car_sales/raw hdfs dfs -mkdir -p /user/student/car_sales/clean4.3 Spark 環(huán)境Spark 建議使用 Local 模式完成開(kāi)發(fā)調(diào)試減少集群資源調(diào)度帶來(lái)的額外復(fù)雜度。在提交任務(wù)時(shí)--master local[*]表示使用本機(jī)所有可用 CPU 核心執(zhí)行任務(wù)這個(gè)參數(shù)對(duì)單機(jī)演示完全夠用。spark-submit \ --master local[*] \ --name CarSalesStatistics \ spark_jobs/sales_statistics.py4.4 數(shù)據(jù)庫(kù)環(huán)境統(tǒng)計(jì)結(jié)果存放于 MySQL 或 SQLite。MySQL 更適合展示工程化能力SQLite 更適合快速演示和打包提交。二選一即可重點(diǎn)在于表結(jié)構(gòu)設(shè)計(jì)清晰。下表是一個(gè)簡(jiǎn)易的汽車(chē)銷(xiāo)量統(tǒng)計(jì)結(jié)果表設(shè)計(jì)字段名類(lèi)型說(shuō)明idINT主鍵自增brandVARCHAR(50)品牌名稱(chēng)modelVARCHAR(100)車(chē)型名稱(chēng)sale_dateVARCHAR(20)銷(xiāo)售日期sales_volumeINT銷(xiāo)量price_rangeVARCHAR(20)價(jià)格區(qū)間regionVARCHAR(20)銷(xiāo)售地區(qū)5. 數(shù)據(jù)采集層用 Python 爬蟲(chóng)獲取汽車(chē)銷(xiāo)量數(shù)據(jù)爬蟲(chóng)是數(shù)據(jù)入口也是最容易被忽略工程質(zhì)量的部分。不少同學(xué)把目標(biāo)網(wǎng)頁(yè)復(fù)制成 HTML 文件然后寫(xiě)一個(gè)字符串解析腳本這種方式在答辯中很難自圓其說(shuō)。更穩(wěn)妥的做法是先確認(rèn)目標(biāo)數(shù)據(jù)源是否允許爬蟲(chóng)訪(fǎng)問(wèn)遵守robots.txt和網(wǎng)站服務(wù)條款在代碼中做好頻率控制和異常處理僅將數(shù)據(jù)用于學(xué)習(xí)和畢業(yè)設(shè)計(jì)研究。下面是一個(gè)簡(jiǎn)化版的采集流程結(jié)構(gòu)上先請(qǐng)求數(shù)據(jù)再解析字段最后保存到本地 CSV 文件。# 文件路徑crawler/car_sales_crawler.py import csv import json import random import time import requests # 演示用模擬接口地址實(shí)際項(xiàng)目需替換為確認(rèn)可合法訪(fǎng)問(wèn)的數(shù)據(jù)源 API_URL https://example-car-data-api.com/api/v1/sales def fetch_sales_page(page: int, page_size: int 100) - list: 拉取一頁(yè)銷(xiāo)售記錄。 實(shí)際采集前必須確認(rèn)目標(biāo)數(shù)據(jù)源的服務(wù)條款與 robots 規(guī)則。 params { page: page, page_size: page_size } headers { User-Agent: ( Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 ) } # 注這里會(huì)進(jìn)行真實(shí)網(wǎng)絡(luò)請(qǐng)求本地不能訪(fǎng)問(wèn)外網(wǎng)時(shí) # 可以用下面的 mock_data() 返回演示數(shù)據(jù)。 resp requests.get(API_URL, paramsparams, headersheaders, timeout10) resp.raise_for_status() data resp.json() # 根據(jù)返回結(jié)構(gòu)解析記錄列表 records data.get(data, {}).get(records, []) return records def mock_data(): 僅用于本地功能演示構(gòu)造符合字段結(jié)構(gòu)的樣本數(shù)據(jù)。 brands [大眾, 豐田, 比亞迪, 本田, 長(zhǎng)安, 吉利] models { 大眾: [朗逸, 速騰, 帕薩特], 豐田: [卡羅拉, 凱美瑞, RAV4榮放], 比亞迪: [秦PLUS, 宋PLUS, 漢], 本田: [思域, 雅閣, CR-V], 長(zhǎng)安: [CS75 PLUS, 逸動(dòng), UNI-V], 吉利: [星越L, 帝豪, 博越L], } price_ranges [8-10萬(wàn), 10-15萬(wàn), 15-20萬(wàn), 20-30萬(wàn)] regions [華東, 華南, 華北, 西南, 東北] records [] for _ in range(20): brand random.choice(brands) model random.choice(models[brand]) records.append({ brand: brand, model: model, sale_date: f2024-{random.randint(1, 12):02d}-01, sales_volume: random.randint(1000, 40000), price_range: random.choice(price_ranges), region: random.choice(regions), }) return records def save_to_csv(records: list, file_path: str) - None: 將記錄列表寫(xiě)入 CSV 文件。 if not records: return fieldnames [brand, model, sale_date, sales_volume, price_range, region] with open(file_path, w, newline, encodingutf-8) as f: writer csv.DictWriter(f, fieldnamesfieldnames) writer.writeheader() writer.writerows(records) def main(): # 在線(xiàn)數(shù)據(jù)源不可用時(shí)切換為 mock_data() 構(gòu)造本地演示數(shù)據(jù) all_records [] for page in range(1, 6): try: records fetch_sales_page(page, page_size100) except Exception as e: print(f請(qǐng)求失敗使用模擬數(shù)據(jù)。錯(cuò)誤信息{e}) records mock_data() all_records.extend(records) # 控制采集頻率避免對(duì)目標(biāo)站點(diǎn)造成壓力 time.sleep(random.uniform(0.5, 1.5)) save_to_csv(all_records, data/raw_sales.csv) print(f采集完成共保存 {len(all_records)} 條記錄) if __name__ __main__: main()這段代碼中有幾個(gè)針對(duì)答辯的設(shè)計(jì)點(diǎn)要提前準(zhǔn)備第一采集必須帶User-Agent并在兩次請(qǐng)求之間隨機(jī)休眠這體現(xiàn)的是對(duì)目標(biāo)站點(diǎn)的禮貌訪(fǎng)問(wèn)也是爬蟲(chóng)的基本素養(yǎng)。第二try...except中切換為模擬數(shù)據(jù)既能保證代碼在離線(xiàn)環(huán)境下可運(yùn)行也能應(yīng)對(duì)真實(shí)接口訪(fǎng)問(wèn)失敗時(shí)系統(tǒng)不崩潰。第三字段名稱(chēng)統(tǒng)一采用英文蛇形命名方便后續(xù) Spark 和 Streamlit 直接讀取避免中文字段名在數(shù)據(jù)管道中引發(fā)編碼問(wèn)題。運(yùn)行方式python crawler/car_sales_crawler.py運(yùn)行完成后在data/目錄下會(huì)生成raw_sales.csv文件包含品牌、車(chē)型、銷(xiāo)量、日期、價(jià)格區(qū)間和地區(qū)字段。6. 數(shù)據(jù)存儲(chǔ)層Hadoop HDFS 上傳與目錄管理爬蟲(chóng)生成的 CSV 文件還在本地下一步需要上傳到 HDFS。這一步在系統(tǒng)里的意義是把“原始數(shù)據(jù)”與“分析數(shù)據(jù)”隔離存放避免后面反復(fù)讀取本地文件產(chǎn)生路徑混亂。HDFS 常用命令# 上傳本地文件到 HDFS hdfs dfs -put data/raw_sales.csv /user/student/car_sales/raw/ # 查看文件是否上傳成功 hdfs dfs -ls /user/student/car_sales/raw/ # 查看文件大小和分塊信息 hdfs dfs -du -h /user/student/car_sales/raw/如果你希望爬蟲(chóng)完成之后自動(dòng)上傳文件可以在 Python 中調(diào)用 WebHDFS 接口。這里給出一個(gè)最小實(shí)現(xiàn)把本地上傳邏輯封裝起來(lái)避免每次手動(dòng)執(zhí)行 HDFS 命令。# 文件路徑storage/hdfs_client.py from hdfs import InsecureClient # HDFS NameNode 地址根據(jù)實(shí)際部署環(huán)境修改 HDFS_HOST http://localhost:9870 HDFS_USER student client InsecureClient(HDFS_HOST, userHDFS_USER) def upload_to_hdfs(local_path: str, hdfs_path: str) - None: 將本地文件上傳到 HDFS 指定路徑。 local_path: data/raw_sales.csv hdfs_path: /user/student/car_sales/raw/raw_sales.csv client.upload(hdfs_path, local_path, overwriteTrue) print(f文件已上傳{local_path} - {hdfs_path}) def list_hdfs_dir(hdfs_dir: str) - list: 列出 HDFS 目錄下的文件信息。 return client.list(hdfs_dir, statusTrue) if __name__ __main__: upload_to_hdfs( data/raw_sales.csv, /user/student/car_sales/raw/raw_sales.csv ) print(list_hdfs_dir(/user/student/car_sales/raw))從教學(xué)角度看HDFS 部分不需要在論文里展開(kāi)講太多底層原理但要能回答三個(gè)問(wèn)題為什么用 HDFS 而不是直接放本地磁盤(pán)實(shí)際數(shù)據(jù)存儲(chǔ)在哪個(gè)節(jié)點(diǎn)文件的副本機(jī)制是什么能回答這三問(wèn)就足以證明你不是只知道命令的工具人。7. 數(shù)據(jù)分析層Spark 清洗與銷(xiāo)量統(tǒng)計(jì)實(shí)現(xiàn)Spark 是整個(gè)系統(tǒng)里最能體現(xiàn)“大數(shù)據(jù)分析”的部分。它承擔(dān)的任務(wù)有兩塊第一把 HDFS 上的原始數(shù)據(jù)讀進(jìn)來(lái)第二按品牌、時(shí)間、價(jià)格區(qū)間、地區(qū)等維度做聚合統(tǒng)計(jì)。下面是一個(gè)典型的統(tǒng)計(jì)任務(wù)腳本示例# 文件路徑spark_jobs/sales_statistics.py from pyspark.sql import SparkSession from pyspark.sql.functions import sum, col, to_date, year, month from pyspark.sql.window import Window from pyspark.sql.functions import row_number # 初始化 SparkSession本地模式運(yùn)行 spark SparkSession.builder \ .appName(CarSalesAnalysis) \ .master(local[*]) \ .config(spark.sql.shuffle.partitions, 4) \ .getOrCreate() # 從 HDFS 讀取原始銷(xiāo)售數(shù)據(jù) sales_df spark.read.csv( hdfs://localhost:9000/user/student/car_sales/raw/, headerTrue, inferSchemaTrue ) # 數(shù)據(jù)清洗去除銷(xiāo)量為空或小于 0 的記錄 clean_df sales_df.filter(col(sales_volume).isNotNull()) \ .filter(col(sales_volume) 0) \ .dropDuplicates([brand, model, sale_date]) # 增加年份和月份兩列便于時(shí)間維度分析 clean_df clean_df.withColumn(sale_date, to_date(col(sale_date), yyyy-MM-dd)) \ .withColumn(year, year(col(sale_date))) \ .withColumn(month, month(col(sale_date))) # 統(tǒng)計(jì)品牌總銷(xiāo)量 brand_sales clean_df.groupBy(brand) \ .agg(sum(sales_volume).alias(total_sales)) \ .orderBy(col(total_sales).desc()) # 統(tǒng)計(jì)價(jià)格區(qū)間銷(xiāo)量分布 price_sales clean_df.groupBy(price_range) \ .agg(sum(sales_volume).alias(total_sales)) \ .orderBy(col(total_sales).desc()) # 統(tǒng)計(jì)大區(qū)銷(xiāo)量排名 region_sales clean_df.groupBy(region) \ .agg(sum(sales_volume).alias(total_sales)) \ .orderBy(col(total_sales).desc()) # 查看結(jié)果方便調(diào)試時(shí)確認(rèn)數(shù)據(jù)是否正確 brand_sales.show(10) price_sales.show(10) region_sales.show(10) # 寫(xiě)入結(jié)果庫(kù)以 CSV 形式落盤(pán) brand_sales.write.mode(overwrite).csv(data/output/brand_sales) price_sales.write.mode(overwrite).csv(data/output/price_sales) region_sales.write.mode(overwrite).csv(data/output/region_sales) spark.stop()這段代碼的關(guān)鍵邏輯在于用dropDuplicates去除同一品牌、車(chē)型、日期下的重復(fù)記錄這是爬蟲(chóng)采集中最常見(jiàn)的臟數(shù)據(jù)問(wèn)題。用to_date把字符串日期轉(zhuǎn)成真正的日期類(lèi)型后續(xù)按年、月聚合才不容易出錯(cuò)。所有聚合結(jié)果都單獨(dú)導(dǎo)出到data/output/目錄方便 Streamlit 層讀取。Spark 是否真的有必要在這個(gè)畢業(yè)設(shè)計(jì)里答案是“有必要”因?yàn)樗x了系統(tǒng)的擴(kuò)展邊界。答辯時(shí)你可以這樣說(shuō)如果數(shù)據(jù)量從今天的幾千條增長(zhǎng)到千萬(wàn)條量級(jí)只需要把master從local[*]改成 YARN 集群的提交方式同一套聚合邏輯可以直接運(yùn)行在分布式環(huán)境。這種回答比任何背誦的八股文都有說(shuō)服力。注意如果從 HDFS 讀取文件時(shí)遇到網(wǎng)絡(luò)不通、權(quán)限不足可以先在本地用 CSV 路徑做開(kāi)發(fā)調(diào)試確認(rèn)邏輯正確后再切換回 HDFS 路徑。項(xiàng)目開(kāi)發(fā)要有“先跑通、再換環(huán)境”的階段拆分意識(shí)。8. 可視化層Streamlit 交互式儀表盤(pán)實(shí)現(xiàn)Streamlit 是這個(gè)項(xiàng)目里開(kāi)發(fā)效率最高的部分。你寫(xiě)一個(gè) Python 腳本保存后刷新頁(yè)面就能看到圖表和篩選器不需要配置任何前端工程。下面是一個(gè)完整的 Streamlit 應(yīng)用框架包含數(shù)據(jù)加載、側(cè)邊欄篩選、指標(biāo)卡片和三個(gè)分析頁(yè)簽。# 文件路徑dashboard/app.py import streamlit as st import pandas as pd import plotly.express as px # 頁(yè)面基礎(chǔ)配置 st.set_page_config( page_title國(guó)內(nèi)汽車(chē)銷(xiāo)售分析系統(tǒng), page_icon:car:, layoutwide ) st.title(國(guó)內(nèi)汽車(chē)銷(xiāo)售分析系統(tǒng)) st.markdown(本系統(tǒng)基于 Python 爬蟲(chóng)、Hadoop HDFS、Spark 與 Streamlit 構(gòu)建數(shù)據(jù)均為教學(xué)演示樣本。) st.cache_data def load_data(): 從 Spark 輸出的結(jié)果目錄加載數(shù)據(jù)。 如果是開(kāi)發(fā)階段也可以直接讀取 data/raw_sales.csv。 brand_df pd.read_csv(data/output/brand_sales/*.csv, headerNone, names[brand, total_sales]) price_df pd.read_csv(data/output/price_sales/*.csv, headerNone, names[price_range, total_sales]) region_df pd.read_csv(data/output/region_sales/*.csv, headerNone, names[region, total_sales]) return brand_df, price_df, region_df brand_df, price_df, region_df load_data() # 側(cè)邊欄篩選 st.sidebar.header(篩選條件) all_brands brand_df[brand].tolist() selected_brand st.sidebar.selectbox(選擇品牌, [全部] all_brands) all_regions region_df[region].tolist() selected_region st.sidebar.multiselect(選擇地區(qū), all_regions, defaultall_regions) # 核心指標(biāo)卡片 total_sales brand_df[total_sales].sum() brand_count brand_df.shape[0] avg_sales brand_df[total_sales].mean() col1, col2, col3 st.columns(3) col1.metric(總銷(xiāo)量, f{total_sales:,}) col2.metric(品牌數(shù)量, brand_count) col3.metric(品牌平均銷(xiāo)量, f{avg_sales:,.0f}) # 圖表區(qū) tab1, tab2, tab3 st.tabs([品牌銷(xiāo)量排行, 價(jià)格區(qū)間分布, 地區(qū)銷(xiāo)量對(duì)比]) with tab1: fig_brand px.bar( brand_df.head(10), xbrand, ytotal_sales, title品牌銷(xiāo)量 Top10, texttotal_sales ) st.plotly_chart(fig_brand, use_container_widthTrue) with tab2: fig_price px.pie( price_df, namesprice_range, valuestotal_sales, title價(jià)格區(qū)間銷(xiāo)量占比 ) st.plotly_chart(fig_price, use_container_widthTrue) with tab3: fig_region px.bar( region_df.loc[region_df[region].isin(selected_region)], xregion, ytotal_sales, title地區(qū)銷(xiāo)量對(duì)比, colorregion ) st.plotly_chart(fig_region, use_container_widthTrue) st.markdown(---) st.caption(數(shù)據(jù)說(shuō)明本頁(yè)面展示的統(tǒng)計(jì)結(jié)果由 Spark 離線(xiàn)計(jì)算生成數(shù)據(jù)文件來(lái)自教學(xué)演示樣本。)8.1 Streamlit 緩存機(jī)制st.cache_data是 Streamlit 中一個(gè)非常實(shí)用的裝飾器。默認(rèn)情況下Streamlit 腳本在每次交互時(shí)都會(huì)重新執(zhí)行如果每次都重新讀 CSV 或數(shù)據(jù)庫(kù)頁(yè)面會(huì)明顯卡頓。加上這個(gè)裝飾器后同樣的參數(shù)只會(huì)加載一次數(shù)據(jù)后續(xù)交互直接走緩存頁(yè)面響應(yīng)更快。答辯演示時(shí)這個(gè)細(xì)節(jié)體現(xiàn)的是你對(duì)數(shù)據(jù)加載性能的敏感度。8.2 多頁(yè)簽設(shè)計(jì)使用st.tabs可以把品牌、價(jià)格、地區(qū)三個(gè)分析視角放在同一個(gè)頁(yè)面里而不是像傳統(tǒng) Flask 項(xiàng)目那樣跳轉(zhuǎn)多個(gè)頁(yè)面。這種設(shè)計(jì)更符合數(shù)據(jù)分析師的日常使用習(xí)慣進(jìn)入系統(tǒng)后在一個(gè)頁(yè)面內(nèi)完成所有維度的探索。8.3 跑通一個(gè)最小可運(yùn)行版本如果 Spark 輸出文件還沒(méi)有生成可以先在load_data()里臨時(shí)改為讀取data/raw_sales.csv用原始數(shù)據(jù)做圖表保證 Streamlit 頁(yè)面先能跑起來(lái)。然后再切換回 Spark 結(jié)果文件形成完整的“數(shù)據(jù)生成到展示”閉環(huán)。9. 系統(tǒng)運(yùn)行效果與答辯演示要點(diǎn)整個(gè)系統(tǒng)開(kāi)發(fā)完成后的運(yùn)行命令分兩步先跑 Spark 統(tǒng)計(jì)任務(wù)再啟動(dòng) Streamlit 應(yīng)用。# 第一步執(zhí)行 Spark 統(tǒng)計(jì)任務(wù) python spark_jobs/sales_statistics.py # 第二步啟動(dòng) Streamlit 可視化服務(wù) streamlit run dashboard/app.py啟動(dòng)成功后終端會(huì)輸出本地訪(fǎng)問(wèn)地址默認(rèn)是http://localhost:8501。用瀏覽器打開(kāi)后預(yù)期看到以下內(nèi)容頂部標(biāo)題與系統(tǒng)簡(jiǎn)介。三個(gè)指標(biāo)卡片總銷(xiāo)量、品牌數(shù)量、品牌平均銷(xiāo)量。品牌銷(xiāo)量排行柱狀圖顯示銷(xiāo)量最高的前 10 個(gè)品牌。價(jià)格區(qū)間銷(xiāo)量占比餅圖。地區(qū)銷(xiāo)量對(duì)比條形圖并且可以通過(guò)側(cè)邊欄篩選地區(qū)。答辯演示時(shí)建議按以下節(jié)奏操作每一步都能對(duì)應(yīng)到系統(tǒng)功能打開(kāi) Streamlit 頁(yè)面先展示整體布局說(shuō)明每一塊區(qū)域的功能與對(duì)應(yīng)數(shù)據(jù)來(lái)源。在側(cè)邊欄切換品牌和地區(qū)展示圖表的實(shí)時(shí)聯(lián)動(dòng)效果證明系統(tǒng)具有交互分析能力。切換到終端窗口展示 Spark 任務(wù)執(zhí)行日志指出聚合計(jì)算的分區(qū)數(shù)量和完成耗時(shí)。打開(kāi) HDFS 目錄命令展示原始數(shù)據(jù)文件在分布式文件系統(tǒng)中的存儲(chǔ)位置。最后回到項(xiàng)目代碼用一兩頁(yè) PPT 重點(diǎn)展示數(shù)據(jù)管道五層模型。如果頁(yè)面出現(xiàn)空白或圖表不顯示優(yōu)先檢查data/output/目錄下 Spark 是否生成了 CSV 文件以及文件路徑是否與pd.read_csv中的模式匹配。10. 常見(jiàn)問(wèn)題與排查思路開(kāi)發(fā)過(guò)程中最容易踩的坑按出現(xiàn)頻率從高到低排列如下。問(wèn)題現(xiàn)象可能原因排查方式解決方案Streamlit 無(wú)法啟動(dòng)或端口被占用8501 端口已被其他進(jìn)程占用查看終端報(bào)錯(cuò)信息運(yùn)行netstat -ano | findstr 8501使用streamlit run app.py --server.port 8502更換端口pd.read_csv(data/output/brand_sales/*.csv)找不到文件Spark 輸出的文件不是單個(gè) CSV而是目錄下的多個(gè) part 文件用hdfs dfs -ls data/output查看目錄結(jié)構(gòu)用通配符*.csv匹配或調(diào)整 Spark 輸出為單文件模式Spark 任務(wù)運(yùn)行內(nèi)存不足本地 JVM 堆內(nèi)存設(shè)置過(guò)小查看 Spark 日志中的 OutOfMemory 信息在提交命令中添加--driver-memory 2gHDFS 上傳文件失敗NameNode 未啟動(dòng)或權(quán)限不足運(yùn)行hdfs dfs -ls /測(cè)試連接重新執(zhí)行start-dfs.sh檢查用戶(hù)權(quán)限CSV 中文讀取亂碼文件編碼與讀取編碼不一致用文本編輯器查看文件編碼格式pd.read_csv中指定encodingutf-8Streamlit 頁(yè)面圖表不聯(lián)動(dòng)篩選變量沒(méi)有傳給圖表數(shù)據(jù)源檢查側(cè)邊欄變量是否在px.bar中作為過(guò)濾條件在圖表繪制前增加篩選邏輯例如brand_df[brand_df[brand] selected_brand]這里單獨(dú)說(shuō)一下 Spark 輸出文件的問(wèn)題Spark 在分布式模式下寫(xiě)入數(shù)據(jù)時(shí)默認(rèn)會(huì)在輸出目錄下生成多個(gè)part-00000文件而不是一個(gè)單獨(dú)的result.csv。如果你希望在 Streamlit 中更方便地讀取可以在寫(xiě)入前調(diào)用coalesce(1)強(qiáng)制合并為一個(gè)分區(qū)輸出brand_sales.coalesce(1).write.mode(overwrite) \ .option(header, true) \ .csv(data/output/brand_sales)但要注意coalesce(1)會(huì)降低數(shù)據(jù)寫(xiě)入的并行度。真實(shí)項(xiàng)目中數(shù)據(jù)量大時(shí)不建議使用這個(gè)點(diǎn)也可以在答辯時(shí)主動(dòng)說(shuō)明展示你對(duì)性能與易用性之間權(quán)衡的理解。11. 畢業(yè)設(shè)計(jì)最佳實(shí)踐與避坑指南這個(gè)項(xiàng)目雖然技術(shù)棧清晰但如果不注意工程規(guī)范很容易在開(kāi)發(fā)過(guò)程中變得混亂。下面幾條建議來(lái)自真實(shí)開(kāi)發(fā)經(jīng)驗(yàn)?zāi)軒湍闵僮吆芏鄰澛贰?1.1 數(shù)據(jù)字段統(tǒng)一命名爬蟲(chóng)、Spark、Streamlit 三個(gè)環(huán)節(jié)共享同一套字段結(jié)構(gòu)。建議在項(xiàng)目根目錄維護(hù)一份README.md記錄每個(gè)字段的含義、類(lèi)型和取值范圍。比如sales_volume的單位是“輛”price_range只能是預(yù)定枚舉值。這份文檔既是開(kāi)發(fā)備忘也是撰寫(xiě)論文時(shí)“數(shù)據(jù)字典”章節(jié)的素材。11.2 分階段推進(jìn)不要一次做完建議按以下順序推進(jìn)項(xiàng)目第一階段用模擬數(shù)據(jù)跑通 Streamlit 頁(yè)面和圖表交互。 第二階段編寫(xiě) Spark 統(tǒng)計(jì)任務(wù)產(chǎn)出統(tǒng)計(jì)結(jié)果替換 Streamlit 的數(shù)據(jù)源。 第三階段實(shí)現(xiàn)爬蟲(chóng)采集真實(shí)或模擬接口數(shù)據(jù)。 第四階段接入 HDFS形成完整存儲(chǔ)鏈路。 第五階段加入定時(shí)調(diào)度讓系統(tǒng)能自動(dòng)更新數(shù)據(jù)。每個(gè)階段都有可交付、可驗(yàn)證的成果避免最后階段才發(fā)現(xiàn)鏈路不通、無(wú)從排查。11.3 結(jié)果數(shù)據(jù)落庫(kù)而不是反復(fù)計(jì)算Spark 計(jì)算完成后把聚合結(jié)果寫(xiě)入結(jié)果表或輸出文件。Streamlit 頁(yè)面只讀取結(jié)果不參與大數(shù)據(jù)計(jì)算。這樣設(shè)計(jì)的好處是頁(yè)面響應(yīng)速度與數(shù)據(jù)量解耦不會(huì)因?yàn)樵紨?shù)據(jù)增大而讓 Dashboard 變慢。11.4 善用定時(shí)任務(wù)讓數(shù)據(jù)自動(dòng)更新如果希望在答辯前展示系統(tǒng)的“數(shù)據(jù)更新能力”可以用APScheduler實(shí)現(xiàn)定時(shí)采集和定時(shí)分析# 文件路徑scheduler/update_task.py from apscheduler.schedulers.blocking import BlockingScheduler from crawler.car_sales_crawler import main as crawler_main from spark_jobs.sales_statistics import main as spark_main def daily_update(): # 先采集數(shù)據(jù) crawler_main() # 再將數(shù)據(jù)上傳 HDFS # 最后執(zhí)行 Spark 統(tǒng)計(jì)任務(wù) spark_main() if __name__ __main__: scheduler BlockingScheduler() # 每天凌晨 2 點(diǎn)執(zhí)行更新任務(wù) scheduler.add_job(daily_update, cron, hour2, minute0) scheduler.start()這個(gè)模塊放在系統(tǒng)中等于給項(xiàng)目增加了一個(gè)“定時(shí)數(shù)倉(cāng)更新”的場(chǎng)景答辯時(shí)是一個(gè)明顯的加分項(xiàng)。11.5 代碼注釋和日志規(guī)范化項(xiàng)目源碼中核心函數(shù)必須寫(xiě) docstring關(guān)鍵步驟要有日志輸出。建議使用 Python 的logging模塊把爬蟲(chóng)采集量、Spark 處理耗時(shí)、Streamlit 啟動(dòng)日志都記錄下來(lái)。這不僅是良好代碼習(xí)慣也方便你在論文里展示系統(tǒng)可觀(guān)測(cè)性。12. 總結(jié)與后續(xù)提升方向基于 Streamlit 的國(guó)內(nèi)汽車(chē)銷(xiāo)售分析系統(tǒng)本質(zhì)上是一個(gè)“大數(shù)據(jù)分析技術(shù)的完整落地案例”。它把 Python 爬蟲(chóng)、Hadoop HDFS、Spark、Streamlit 這些技術(shù)名詞串成了一條真實(shí)可運(yùn)行的數(shù)據(jù)管道既能作為畢業(yè)設(shè)計(jì)選題也是一份很好的大數(shù)據(jù)應(yīng)用開(kāi)發(fā)入門(mén)項(xiàng)目。后續(xù)如果還有時(shí)間可以從以下方向繼續(xù)擴(kuò)展把 Streamlit 部署到服務(wù)器通過(guò) Nginx 反向代理讓其他人可以通過(guò)公網(wǎng)地址訪(fǎng)問(wèn)系統(tǒng)接入更多維度的外部數(shù)據(jù)分析讓圖表更有業(yè)務(wù)意義將 Spark 計(jì)算從本地模式遷移到 YARN 集群驗(yàn)證分布式環(huán)境下的計(jì)算性能引入定時(shí)調(diào)度框架讓整個(gè)數(shù)據(jù)管道每天自動(dòng)運(yùn)行。技術(shù)路線(xiàn)沒(méi)有唯一答案。有人用 Flask 做可視化有人用 Hive 做數(shù)據(jù)倉(cāng)庫(kù)也有人用 ClickHouse 做實(shí)時(shí)查詢(xún)但核心思想是一致的數(shù)據(jù)采集、存儲(chǔ)、計(jì)算、展示必須是一套完整鏈路。你能把這條鏈路講透、跑通這就是一個(gè)高質(zhì)量的畢業(yè)設(shè)計(jì)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97色婷婷成人综合在线观看| WWW.99热| 爆乳熟妇一区二区三区爆乳照片| 婷婷五月天无码视频| 无遮挡国产高潮视频免费观看| 人妻精品久久久久久| 久久婷婷五月综合激情国产| 亚洲人操亚洲人| 深爱五月综合网| 亚洲操女| 国产精品国产成人国产三级| 香蕉婷婷| 婷婷久久亚洲| 丁香婷婷六月婷婷六月婷婷六月婷婷 | 激情婷婷五月黑人| 色综合网上班开心婷婷久久| 丁香香蕉婷婷| 九九久久玖玖爱| 日韩av在线电影| 开心五月婷婷六月丁香| 婷婷五月色播网| 免费看欧美成人A片无码| 五月婷婷啪啪| 色导航色婷婷五月天在线观看| 激情啪啪五月天| 日韩三及成人AV片| 大香婷婷| 五月天色站| 9l视频自拍9l九色成人| 激情五月天在线免费美女视频| 五月丁香久久综合| 97操| 色婷九九九| 免费看欧美成人A片无码| 欧美色九| 久久久99久久| 久久综合中文| 最新色色五月天| YW无码| 少妇人妻丰满做爰XXX| 久久狠狠干| www.色擼擼.com| 五月丁香六月综合情在线观看| 成人中文网| 五月丁香在线观看| 亚洲免费婷婷| 综合久久高清| 伊人婷婷大香蕉| 婷婷精品综合| 五月丁香网站| 亚洲色图五月丁香| 色五月色五天色情网| www.爱操com.| 久久国产色| 99日本在线| 黄色99热| 色五月超碰| 亚洲精品中文字幕成人片| 伊人在线另类| 丁香五月天亚洲综合| 婷婷激情五月呦呦| 欧美性爱丁香五月| AV六月丁香| 欧美天堂婷婷日韩| 九色 在线| 99色视| 丁香婷婷六月| 在线婷婷| 国产精产国品一二三在观看| 久久久久久久久久久久久久久久一道本| 久婷| 亚洲最大成人综合网720P| 欧美天堂久久| 天天做天天爽| 噼里啪啦在线观看免费完整版视频| 日本99热| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久久婷婷五月综合色丁香| 欧洲综合色| 9久热这里只有精品视频| 很很操96| 另类激情中文| 97碰碰人人| 激情五月天色色网| 成人AV在线中文版| 91婷婷丁香五月| 操逼六区| 五月丁香美女视频| 亚洲免费99| 天天色,天天日,天天做| 久久久久这里只有精品| 婷婷基地成人五月天| 亚洲天堂有码| 天天草天天爱| 五月天久久婷婷| 成人在线99| 色色吧综合| 五月婷婷在线免费观看| 99精品视频免费观看近期发布| 婷婷五月天大香蕉在线视频观看| 久久五月婷婷电影| 日本va欧美va国产激情| 欧美激情五月天| 色婷婷综合久久| 日本在线99| 丁香六月啪| 亚洲色婷婷网站| 色噜噜狠狠狠综合曰曰曰| 激情六月天婷婷| www色色com| 日曰躁夜夜躁2026| 99色视频| 中文成人在线| 亚洲欧美日韩另类| 丁香六月婷婷激情综合| 这里只有精品久久| 婷婷五月丁香四射| 色五月天中文字幕| 午夜天堂一区人妻| 五月丁香激情怕怕| 天天爽,夜夜爽| 精品人妻伦一二三区久| 99在线热视频| 久狠日av| AAA级久久久精品| 91久久综合亚洲鲁鲁五月天| 激情五月天社区| 专区无日本视频高清8| 日91高清无玛| 色播综合| 五月丁香婷婷啪啪综合网| 丁香五月开心亚洲| 91久久九色| 狠色狠色狠色狠色狠色网| 日日爽夜夜爽| av无码电影| 第一区久久网站| 99爱在线免费视频| 99re热在线视频| 五月婷婷激情视频| 99re久热| 可以看的AV| 人妻AV在线| 91oumei| 五月永久激情| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 好激情在线综合网| 99人人干| 色色婷婷丁香| 婷婷激情小说| 天天搞夜夜叫| 国产 码在线成人网站| 五月丁香久久呀| 婷婷综合五月色播| 精品综合网在线| 丁香五月亭亭六月综合激情网| 超碰人人超碰| 久久性爱视频| 婷婷综合视频| 97热精品| 这里只有精品免费| 久久五月视频| 人人爱操| 天天天摸夜夜夜玩| www久久久久| 五月丁花六月丁香综合| 色婷婷先锋| 无码色色色| www.色色com| 色五XX| 婷婷五月丁香四射| 开心激情播播五月天| 99精品视频在线观看| www99在线观看视频| 丁香五月天堂网| 大香蕉Av在线| 丁香五月婷婷视频| 婷婷丁香五月社区亚洲| 五月婷婷六月天| 操操自拍| 九九热在线视频| 亚洲综合九九| 96丁香婷婷九月蜜桃综合久久| 五月天丁香六月综合| 日韩aaaaa| 97色色色色色色色| 丁香五月婷婷啪啪视频| 天堂久久性| 欧美六月| 亚洲成人日韩无码精品| 中文字幕av在线播放| 99在线免费视频播放| 夜夜骑天天操| 天天日日人| 国产美女无遮挡裸体毛片A片| 激情久久五月网| 四色五月婷婷| 99精品视频网| 亚洲狠狠干| 五月婷婷丁香啪啪| 黄桃AV无码免费一区二区三区| 中文字幕久久一区二区三区| 亚洲99在线| 日本爆乳片手机在线播放| 一起草Av| 激情婷婷22月间| 日日噜噜夜夜狠狠久久丁香六月| 久久性爰视频这里只有精品| 伊人久久艹| 99热九九热| 五月激情综合五月| 9久久久久| 国产精品美女久久久久AV超清| 热99re| 中文字幕综合色| 婷婷色操| 五月天综合图片| 婷婷色丁香五月| 超碰成人黄色网| site:minyis.com| 日本精品人妻无码77777| 啪啪东京热| 婷婷狠狠操| 激情五月深爱婷婷| 久热2025无码| 香蕉大综综综合久久| 99操碰| 色色色色色五月| 婷婷六月天天| 激情丁香五月天图片| 色色亚洲视频| 亚洲精99| 91蜜桃婷婷狠狠久久综合9色| 美女五月天婷婷| 久久99久久99www| 97操碰视频| 九九黄色网| 97久久香草精品视频| 99re资源在线视频导航| 国产精产国品一二三在观看| 亚洲综合婷婷| 这里只有精品视频在线| 精品久久久人妻| 国产激情综合五月久久| 深爱五月网| 狠狠干在线视频| 婷婷六月激情| 99超级碰碰| www99精品日韩| 少妇大叫太大太粗太爽了A片| 天堂综合久久 | 亚洲av无码精品色午夜| 日本不卡高字幕在线2019| 99久久网站| 五月天无码视屏播放| 99热很操老逼| 大香蕉视频99| 99ri视频在线观看| 激情久久丁香| 91成人看片| 五月丁香亭亭AV女优| 婷婷亚洲在线| 成人短视频在线免费观看| 在线sebiav精品视频| http:色情日本com| 久久久宗合视频88| 婷婷六月久久| 婷婷五月电影| 色五月婷婷中文字幕| 亚洲欧洲国产精品| 丁香五月综合久久八| 好好干Av| 九九热99精品| 婷婷五月天六月| 丁香五月激情视频在线| 91成人性爱视频| se影音资源在线观看| 久久精品66| 亚洲激情网站| 99热这里只有精品最新| 九艹在线| www.婷婷| 五月天婷婷影院| 俺也高清无码高清视频| 色噜噜狠狠狠综合曰曰曰| 久er7久热| 综合色播| 99色6爱9热| 亚洲av综合网| 青青草a在线| 久婷久婷激情肉| 91猫咪国产在线播放| 99视频只有精品| 91九色丨国产丨爆乳| 九九无码| 超碰激情网| 少妇人妻人伦A片| 婷香五月激情视频| 婷婷激情人妻| 日日噜狠狠| 色婷天天| 激情久久久| 九九色人| 婷婷五月天电影网| 亚洲视频一区| 久久婷婷五月天激情新地址| 亲子乱AV-区二区三区| 在线成人va| 色135综合网| 日本不卡一区二区三区| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 色综合中文色综合网| 99超级超级超级碰| 4399高清无码视频| www.91久久| 97久久视频| 开心五月激情网| 亚洲小视频免费播放| 色色五月丁香| 丁香五月最新地址| 色五月无码| 天天日,天天插| 婷婷爱五月天| 成人网在线观看视频| www91在线| 久er7久热| 99爱在线观看视频| 国外亚洲成AV人片在线观看| 天堂久久精品| 五月丁香六月综合激情| 黄色国久久| 99色干| 久久久久人无码人妻| 五月丁香亭亭操逼| 嫩草视频。| 丁香五月AV在线| 天天干天天拍| 亚洲AV永久无码影院黑人| 最新日本A片| 综合网五月| 亚洲乱码日产精品BD在线观看| 97热久久五月婷婷| 国产精品久久久久久亚洲毛片| 激情五月婷婷色色| 69色色视频| 十区AV| 五月婷婷导航| 国产日产亚洲系列最新| 天天操夜夜夜拍拍拍| 爱射综合| 久久婷婷内射| 婷婷97碰碰| 综合玖玖偷拍| 五月丁香啪啪伦理电影| 人人肏逼视频在线一区二区| 亚洲AAAA网| 强伦轩人妻一区二区电影| www91久久| 开心婷婷五月天激情网| 亚洲无线视频| av五月天婷婷丁香| 丁香婷婷黄网站| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 久久丁香网| 可以直接看的AV网站| 日韩人妻在线观看| 九伊人网| 婷婷五月AV| 先锋资源91| 婷婷 丁香 精品| 亚洲深喉aV| 亚洲五月综合色播| 色婷婷影视99| 啪色综合| 色婷婷五月天av在线| 91黄址| 婷婷五月色综合| 一月婷婷色色| 4399在线观看免费毛片| 日韩亚洲视频| 国产婷婷综合| 亚洲亚洲人成综合网络| 丁香激惜男女| 抽插特写| 色日本综合| 婷婷久久精品| 色综合激情| 丁香五月香蕉在线| 东京热五月婷婷| 久久性爰视频这里只有精品| 五月综合丁| 国产成人99久久亚洲综合精品| 亚洲色区17| 视色综合| 超碰日日操| 国产成人99久久亚洲综合精品| 亚洲小视频免费播放| 五月天婷婷久久| 日韩狠狠色婷婷| 97超碰婷婷五月天| 日韩六六久久电影| 涩涩婷婷五月| 国产成人精品一区二三区熟女在线| 婷婷五月天亚洲激情戏精品| 日韩日比视频| 777影视理论片大全在线观看 | 久久这里只有精品视频15| 99热青青草原| 激情五月综合| 天天日天天舔| 中文字幕av在线| 天天插天天插天天插天天插| 国产五月丁香在线| 人人爽欧美婷婷久久久五月丁香| 26uuu成人网| 六月丁香综合网| 九九性爱网| 色色国产| 激情综合国产| 99er视频在线| 综合玖玖性爱免费视频| 99国产精品久久久久久久久久久| 深爱激情五月网| www.狠狠操.co m| 9久热在线精品| 色色a| 国产精品VA在线| 精品久色| 99干视频| 色色色1网址| 六月综合婷婷开心伊人| 色色激情五月天| 丁香九月婷婷色| 久久婷婷视频| 九色无码| 婷综合六月| 色999;丁香五月| 久热免费| 亚洲激情97五月天| 婷婷五月天99| 2050人人操免费工开爱| 亚洲性视频| 1024操逼| 五月丁香啪啪| 欧美黄色AA片哗啦啦啦| 99玖玖在线视频| 婷婷五月丁香成人| 五月丁香亭亭成人电影| 综合激情伊人影视在线| 91人人网| 情色婷婷五月天| 九九色网| 亚洲丁香五冃97色| 久九男女天堂| 国产精品日本一区二区在线播放| 狼人婷婷久久| 婷婷五月天另类网站| 亚洲综合视频天天精品| 精品五月视频婷婷在线观看| 色级婷婷| 久久五月婷综合网| 五月丁香婷婷老司机| 操操天堂| 五月色网| 五月婷婷激情五月| 色五月在线播放| 婷婷六月激情| 亚洲六月色婷婷| 中文成人在线| 五月丁香成人| 思思热99热| 色色色免费视频| 亚洲丁香五月在线观看| 九九热国产| 人妻系列久久久久久久久久久| 五月天婷婷色在线视频免费观看| 九月婷婷综合| 亚洲不卡| 97精品自拍视频| 激情无码网| XX久久| 亚洲综合婷婷五月| 丁香六月婷婷| 五月色丁香婷婷中文字幕| 六月色狠狠色| 深爱激情婷| 激情激情激情网| 99re热视频| 亚洲激情免费视频| 亚洲色婷婷| 91碰| 婷婷色网| 久热A片| 亚洲日比视频| 99国产精品久久久久久久久久久| 9999热在线| 日韩成人综合| 亚洲色五月| site:esunnet.com| 婷婷久久亚洲| 99爱爱| 我爱大香蕉| 91男同视频| 婷婷五月综合社区在线| 97热精品| 欧美婷| 狠狠干夜夜干| 99热这里只| 99ri在线观看视频| 99精品网| 久久久久五月丁香| 欧美婷婷丁香五月社区| 玖久精品视频9| 丁香五月成人社区| 综合久久99| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 91狠狠综合久久| 欧美综合激情五月丁香| 五月丁香五月综合欧美| 99碰碰| 亚洲欧美成人在线观看| 色狠狠综合| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 天天射影视综合网| 色噜噜狠狠色综合网| 五月天婷婷色色| 色五月丁香91| 五月丁香六月婷综合成人综合| 五月天色婷婷视频| 另类视频综合| 久久色大香蕉| 91狠狠综合网| 俺也去在线视频| 久操操| 综合久久六月| 五月五丁香婷婷| 殴美日韩成人| 婷婷五月天亚洲综合网| 日本成人综合| 五月婷婷综合精品| 丁香五月激情五月| 国产免费一区二区三区三州老师F1F1.CC| 99久久99热| 天天操夜夜操| 日韩成人影片在线观看| 91干| 99在线视频精品| 丁香五月天91| 五月丁香六月婷婷综合网| 久久久99视频| 亚洲av另类在线观看| 亚洲激情淫网| 国产性爱亚洲是图| 另类激情五月| 色色婷婷丁香五月天| 色色色com| 人人爽在线视频综合网| 久久人妻人人| 亚洲国产网址| 丁香月六月| 亚洲亚洲人成综合网络| 久久中文人妻系列| 久久a热| 婷婷色一二三区波多野结衣| 天天天摸夜夜夜玩| 丁香五月大香蕉在线99| 婷婷五月天综合蜜桃| 天天爽夜爽| wwww.9免费视频| 狠狠干综合| 九热视频在线精品15| Av在线不卡一区| 七七九九色色| 五月天激情婷婷| 五月天啪啪网| 婷婷视频在线| 99综合99| 五月丁六月婷| 强辱丰满人妻HD中文字幕| 五月婷婷啪啪| 久久激情网| 99婷婷五月天| 日本不卡一区二区三区| 丁香五月婷婷亚洲另类| 久久婷婷五月天大香蕉| 99热久久这里只有精品2010| 欧美日本97| 天天色天天日| www.91.com黄| 久色激情| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丁香五月婷婷老师网站| 99色免费观看全部| 中文字幕丰满人妻无码专区| 婷婷五月综合社区| 久久婷婷亚洲无码一起| 日韩一级A片黄色| 丁香伍月婷电影全集| www.主妇. com| 婷婷五月天激情四射| 天天操夜夜啊| 草草色情综合网| 中文在线视频久1| 高清a片基地| 99热这里都是精品| 九九日本视频| 激情操逼婷婷| www热久久yy9| 26UUU成人网| 99热自拍| 丁香激情六月天婷婷| 日日操无码| 亚洲色婷婷99一9|| 99色在线免费观看视频| 五月天婷婷在线观看| 开心五月婷婷六月丁香| 婷婷五月精品中文| 色99视频| 婷婷五月色情天| 99久久精品色老| 九九99免费理论| 国产91视频| 七月婷婷色香综合网| 婷婷五月影院| 婷婷五月深深的爱| 亚洲欧美成人在线观看| 久久婷五月婷| 五月激情五月婷婷五月天在线| 激情性爱五月| 97色干在线观看| 亚洲操B| 丁香五月天色| 婷婷久久精品| 91蝌蚪窝视频在线| 亚洲午夜视频| 97碰在线| 亚洲视频在线观看| 手机旧版看人妻1025| 午夜少妇在线观看视频| 日韩性视频| 亚洲色优| 亚洲亚洲人成综合网络| 99碰| 538午夜激情| 久热A片| 26uuu国自产精品| 激情综合网激情五月俺也去| 另类图片天天影视在线观看| 亚洲天堂制| 综合成人小说婷婷| 婷婷丁香基地在线| 色五月激情五月| 色色婷婷丁香五月天| 五月激情六月丁香| 伊人五月婷婷国产视频| 五月丁香龟婷婷| 99久久66综合| tingting五月天亚洲| 天天肏视奸| 六月丁香啪啪啪| 91狠狠色色丁香婷婷综合久久| 天天色,天天操,天天射| 亚洲综合激情五月久久| 开心五月婷婷婷美女| 人操91在线| 五月丁香网站| 亚洲激情婷婷| 亚洲欧美成人在线| 成人在线不卡| 综合一区二区三区| 久99久99精品免| 精品久久99| 五月天天天色| 色爱五月天| 久久婷婷啪啪视频| 婷婷五月天美女21p| 天天操天天草天天草天天| 岛国资源网| 婷婷六月啪啪| 久久六月天| 成人五月丁香社区| 免费黄色片子| 久久99久久99精品免视看婷婷| 丁香婷婷五月综合| 97操碰在线视频| 欧美狠狠色| 久久久99精品| 99在线爽| 婷婷婷五月天最新综合你懂的| 婷婷五月天成人网| 激情网战码亚洲A| 五月开心婷婷中文字幕| 97丁香花五月天激情小说| 五月婷六月综合在线观看| 久久大香蕉| 丁香婷婷五月天色综合| 九九久久99精品免费观看www| 色五月婷婷老师| 九九性视频| 成 人片 黄 色 大 片| 欧美三级巜人妻互换| 国产精品天天狠天天看| 亚洲一区二区 成人网站戴套| 天天爱天天天射AV| se99热久久一本| 毛片新网地| 久久综合婷婷| xxx日本东京热| 久久五月天激情| 99这里| 高清视频一区| 办公室少妇激情呻吟A片在线观看 白人荫道BBWBBB大荫道 | 综合五月婷婷| 色五月久久成人婷婷| 天天成人丁香美女AV| 国产三级秋霞| 99综合免费视频| 国产看真人毛片爱做A片| 久/久精品99看9| 日本三级99人妇网站| 99热热热国产超碰| 五月婷婷激情四季| 开心婷婷五月花| 五月丁香婷中文字幕| 九九热视| 深爱激情五月天| www,99视频| 第五婷婷伊人丁香色| 丁香六月色婷婷| 99精品视频免费观看,| 久久人妻www| 99精品色| 九九九九中文字幕| 狠狠色大香蕉| www.婷婷五月| www色五月天| 亚洲av网站| 日日噜噜夜夜狠狠久久丁香五月| 婷婷五月激情综合网| 日本综合色色| 婷婷 激情 五月| 26uuu欧美激情另类| 天天舔天天| www.henhenl| 丁香五月婷婷总啪啪| 91Chinese在线| 丁香五月亚洲| 伊人无码高清| 999婷婷综合| 欧美日韓成人亚洲精品另类| 综合色色婷婷| 操B无码视频国语| 蜜臀AV在线成人| 开心婷婷五月中文字幕组| 色色网站| av在线播放网址| www久| 狠狠狠狠狠操| 婷婷五月天av| 久久五月视频| 五月天婷婷丁香社区| 亚洲激情综合| 啪啪啪丁香五月| 丁香六月av| 五月婷婷激情综合| 97黑人精品区| 久久爱婷婷| 大香蕉手机视频| 婷婷五月天综合网| 久色大| 五月天激情亚洲| 秋霞网在线观看理论91| 九九色婷婷| 97视频久久| 欧美 日韩 成人| 男人的天堂99| www天天干| 激情深爱五月天| 91viP在线看| 五月天激情四射网站| 成人 AV播放| 婷婷丁香激情五月天色色| 国产AV国片偷人妻麻豆| 深爱五月激情网| 99亚州综合精品成人网| 天天肏视频| 网站免费一站二站| 婷婷六月色情| 婷婷综合激情| 欧美日韩国产日本精品四虎网网站物| 色五月综合激情| 精品9久| 99热在线观看这里只有精品 | 激情内射人妻1区2区3区| 五月丁香激情婷婷| 婷婷丁香花五月天| 九月婷婷久久久| 色色色9| 色色无码日韩| 国产毛片欧美毛片久久久 | www,av好吊操| 99在线小视频| 日日操天天| 久久全色| 极品另类| 色婷婷影视| 91日本在线观看| 色9999日韩国产| 国产精品色色| 丁香五月天欧美| 一区二区无码视频| 99久在线精品99re8| 丁香六月婷婷综合啪啪| 九九九九国产| 亚洲精品欧洲精品| 五月日韩中文字幕| 99久热这里只有精品| 日韩精品成人在线| 强伦轩人妻一区二区电影| 99热这里只有精品在线免费| seav天堂| 波多野结衣AV无码Porn| 五月婷婷色色| 超PEN精品在线| 五月婷婷,六月丁香| 91丨九色丨熟女| 超碰在线国产| 五月丁香无码| 婷婷午夜精品久久久| 亚洲操逼网| 丁香五月激情无码视频| 操人久久| 九九成人视频| 99亚州综合精品成人网| 成片免费播放| 日韩性爱AV| 婷婷五月天av| 秋霞午夜理论| 九月丁香很很色| 99热精品在线在线| 五月天亚洲最大成人| 欧美日韩成卜| 丁香九月色| www.99热视频| 丁香五月天五码婷婷| 99热这里只有精品9| 婷婷丁香六月天| 婷久久久| 婷婷五月天成人导航| 色青五月天| 噜噜操操| 强辱丰满人妻HD中文字幕| 综合玖玖偷拍| 久久这里面只有精品视频| 婷婷久久亚洲| 免费亚洲婷婷| 青青草原爱爱网| 在线观看五月婷婷网| 久久婷婷五月综合色和| 久久激情五月天| 男男野外做爰全过程69| 婷婷五月综合网| 丁香婷五月| 欧美久久婷婷| 久热精彩视频98| 99热99ai| 激情五月天视频| 色五月天电影| 任你干嘛免费视频播放| 婷婷丁香久久五月综合| 六月丁香五月婷婷| 婷婷五月色综合| 丁香五月开心五月激情| 久久久久久久久久久久久久人妻视频| 激情九月天天天天婷婷| 99精品偷自拍| 欧美A A A A A| 五月丁香六月综合情在线观看 | 免费成人中文字幕| 婷婷色5月天在线。| 婷婷操超碰| 婷婷色资源| 五月天婷婷午夜丁香| 六月婷婷视频| AV片在线观看| 国产五月天激情小说| 色五月综合激情| 91久久国产综合久久| 精品一二三区久久AAA片| 亚洲热热视频| 日韩 欧美 国产 一区 二区| 97碰免费视频在线| 亚洲色图五月丁香| 色天堂97| 五月天AV大香蕉| AV变态另类一区二区| 在线18av | 久久九九国产精品怡红院| 久久密臀婷婷| va婷婷在线| 九九久久精品| 五月丁香综合激情网| 六月丁香综合| 97久久精品视频| 色婷婷丁香特级性爱视频| 99日韩| 97黑人精品区| 丁香婷婷影院| 欧美成性色| 五月婷婷无码| 五月婷婷色影院| 久久久久亚洲AV成人无码电影| 丁香综合久久| 九九免费视频| 天天操天天插天天射| 亚洲狠狠操| 综合av在线| 五月情综合| 五月婷婷综合网| 色五月激情问网站| 爱射综合| 99久久久免费| 色婷| 插逼综合网| 操逼三区| 日韩成人AV在线播放| 91丨九色丨熟女丰满| 2022人人操人人看| 99精品无码| 69人妻人人澡人人爽久久| 99久在线精品99re8| 99热久久日本| 影音先锋91资源站| 五月婷婷久久综合| 丁香六月激情综合| 婷婷中文字幕版| 亚洲黄色操逼| 丁香婷婷性久久| 亚洲综合婷婷| 六月色婷婷| 五月停停丁香| 操逼巨乳91| 五月亭亭六月天| 日操五月婷| 久久33视频| 5五月综合网亚洲| www.久久综合| 五月天精品视频| 狠狠香婷婷五月| 中文字幕乱码亚洲精品一区| 色婷婷色五月综合| 中文字幕高清av| 超碰99资源站| 操操碰| 青草视频在线观看视频| 好好干av| 综合精品99| 丁香 久久| AV大香蕉| 欧美性生交A片免费看| 国精产品久久| 亚洲色色五月天| 26uuu精品国产| 五月激情网五月综合网| 五月丁香六月停停停| 婷婷丁香五月婷婷| 伊人久久婷婷| 九九在线热九九在线热99热| 国产三级秋霞| 欧美97色| 99热在线观看| 婷婷激情综合| 噜综合| 色综久久久| 天天激情欧美美女| 婷婷色婷婷亚洲成人| 色五月婷婷老师| 开心五月婷| 六月久久婷婷| 99国产精品白浆在线观看免费 | 婷婷五月天色网久| 99热 在线播放| 久久538| 天天干天天爽天天爽| 91主播在线| 亚洲精品视频在线| 日韩色情亚洲五月天婷婷| 99视频在线播放大全| 国产美女无遮挡裸体毛片A片| 亚洲成人人人操| 91超级碰| 久久丁香婷| 色99在线观看| 五月婷婷综合色啪首页| 久99热在线观看| 91人人人人人| 91视频一起草| 成年人99热| 日本啪啪天堂| 999热在线观看视频| 婷婷伊人久久| 99色最新在线视频网站| 婷婷综合在线| 欧美日本99| 国产精品色| 中文成人在线| 婷婷色五月婷婷姐妹| 婷婷久久女人| 丁香婷婷性久久| 综合色播| 思思热视频| 五月丁香六月情婷婷久久| 五月色婷| 9久热免费视频99| www.久久99精品| 亚洲亚洲人成综合网络| 丁香五月婷婷基地| 亚洲国产99| 婷婷五月天免费| 色黑鬼导航| 91视频久久久| 桃色成人网| 色色综合网站| 无码区婷婷五月花开| 婷婷十月丁香| 六月天无码网址| 综合欧美五月婷婷| 9久国产| 毛片九九九九九九| www.婷婷com| 大战熟女丰满人妻AV| 色香蕉影院| 九九99九九99| 极品另类| 一级黄色尤物综合视频手机在线观看| 99re这里只有精品首页| 久久五月六月| 婷婷中文字幕| 丁香五月综合| 亚州操操| 冬月かえでAV无码播放| 另类图片五月激情| 欧美人人草草| 综合色五月亭亭| 人人色人人弄人人操| 最近中文字幕大全免费版在线 | 伊人网啪啪| www.99热这里只有精品| 六月丁香影院| 天天爽天天摸人妻综合网| 成人欧美Va| 国产熟女日日骚五月丁香爱| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 九九热精品| 噜噜视频| 九热视频| 亚洲乱码日产精品BD在线观看| 99热这里只有精品首页| 丁香六月婷婷色XXXXX| av狠狠操| 五月丁香六月欧美综合网站| 丁香六月激情| 大香蕉伊人久久| 婷婷五月天成人网| A久久| 香蕉AV777XXX色综合一区 | 九九热这里只有精品556| 五月丁香在线视频观看| 九九精品这里只有| 久久这有这里精品| 99色视频在线观看| 停停五月天激情网| 天天摸夜夜夜| 五月天综合| 99九九精品视频| 婷婷五月亚洲综合| 国产精品色色| 双性美人被调教到喷水A片| 五月色丁香| 国产性爱在线| 日本人妻操| 久9热视频在线观看| 99热最新精品| 99热这里只有精品21| 五月婷婷乱| 色激情五月| pom538精品视频| 九九婷婷网五月天| 亚洲亚洲人成综合网络| 狠狠色 综合色区| 欧美日韩五月婷婷| 思思热这里只有精品视频666| 九九九精品视频免费观看| 5月婷婷激情6月| 色五月婷婷亚洲| 九九色大香蕉| 97五月天| 九九综合88| 精品久久99码| 免费99情趣网视频| 五月婷婷无码| 久热伊人| 99精品成人无码A片观看金桔| 91n啪啪| 亚洲丁香花色| 色婷婷狠狠久久综合五月| 26uuu精品一区二区| 强伦轩人妻一区二区电影| 久久婷婷五月天大香蕉| 久热re在线视频| 丁香午月AV中文字幕| 五月丁香婷婷潮喷中文字幕| 九色婷婷| 欧美日本日韩| 色播五月天婷婷老师| 狠狠草天天草| 99久久久| 九九热视频在线观看| 九九99偷拍视频| 91久久婷婷| 欧美Va在线| 久久久18| 婷婷丁香五月社区亚洲| 精品网站:999WWW| 天堂婷婷丁香六月网| 99精品久久久| 午夜AV网| www,久久久| 五月天婷婷丁香六月| 色婷婷电影网| 9久热在线视频| 色情·com| 天天综合五月天| 大色鬼综合| 久超超碰| 操操操AV| 嫩草AV久久伊人妇女超级A| 国产精品国产| 天天操天天爽天天爱| 婷婷涩五月| 高清 码 免费看片短视频| 另类小说五月天| 激情五月丁香六月| 婷婷亚洲丁香五月| 91凹凸在线| 中文字幕无码人妻少妇免费视频 | av在线播放网站| 久9久9热久热| 97偷拍对白视频| 久久与婷婷| 五月丁香啪| 玖玖婷婷免费| aaaaaa片| 久久五月综合| 日本人妻久久| 五月婷婷伊人久久| 能看的av| 色婷婷啪啪综合网| 丁香香五月激情免费视频| 婷婷激情在线| 丁香五月97视频| 夜夜涩涩涩| 伊人99热| 久久婷网| 99热地址| 欧美叉叉叉BBB网站| 六月丁香激情综合网| 99热国内精品| 99免费在线视频| 五月婷六月天| 国产做A爰片毛片A片美国| 色婷婷XXXXX| 久久视频婷婷视频| 黄色91在线观看| 九九视频这里有精品| 亚洲欧美日韩VIP| A在线观看| 99精品免费| 天堂在线婷婷| 人人草人人视| 九九亚洲天堂| 婷婷五月激情片| 性无码专区无码| 精品网站99| 97色色色色色| 先锋五月婷婷丁香草草| 狠狠爱激情网| 一区二区免费看| 国产偷人妻精品一区| 99久久久精品| 天天操夜夜玩!| 白人荫道BBWBBB大荫道| 丁香九月婷婷| 色色色免费视频| 婷婷在线精品| 99热主页日本| 伊人五月天97| 久色| 天天肏天天肏天天肏| 五月天综合视频| 久久精99| 亚洲激情五月天| 色蜜婷婷| 免费亚洲婷婷五月| 丁香六月欧美| 丁香婷婷色| 在线超碰91| 六月激情久久| 99精品97| 国产精品视频| 六月丁香大香蕉| 丁香婷婷激情五月天无毒不卡蜜桃| 99内射视频| 黄色一级影片| 99精品在线播放| 亚洲婷婷五月天| 亚洲色婷婷99一9|| 亚洲成av人影院| 另类视频丁香五月| 青青操丝袜美腿| 夜夜操狠狠操| 色v综合网| 99操碰| 五月噜噜| 逼特逼在线免费播放| 精品无码色| 69热91天堂| 婷婷婷婷婷婷婷婷| 91碰在线| 天天爽夜夜操| 欧美天天综合网站上去吧| 激情五月婷婷综合网| 可以看的av网站| 亚洲色激情| 老司机日日夜夜青草| 五月婷婷开心色伊人| 男人的天堂av俄罗斯热| 日韩精品一区二区亚洲AV观看 | 婷婷成人网五月天| 黄色热99| 激情五月天无码| 在线不卡AC| 久久超视频| 人妻性爱| 大香蕉色婷婷伊人在线| 激情婷婷啪啪| 婷婷无码视频| 国产精产国品一二三在观看| 五月丁花六月丁香综合| 综合99视频| 夜夜躁爽日日| 色综合综合网| 亚韩在线视频| 全部老头和老太XXXXX| 色婷婷丁香五月天| 五月丁香另类图片| 青青草青青草五月天| 亚洲六月色婷婷| 我爱婷婷五月天综合88| 成人在线免费网址| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 天天色综合综合| 丁香伊人网| 婷婷五月天 丁香五月天 裸体| 丁香 久久| www.99热最新视频8|