99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

旅游評(píng)論情感分析系統(tǒng)畢設(shè)實(shí)戰(zhàn):爬蟲(chóng)、NLP與前后端分離全流程

旅游評(píng)論情感分析系統(tǒng)畢設(shè)實(shí)戰(zhàn):爬蟲(chóng)、NLP與前后端分離全流程 簡(jiǎn)介基于Python語(yǔ)言開(kāi)發(fā)的旅游景點(diǎn)評(píng)論情感分析畢業(yè)設(shè)計(jì)項(xiàng)目集成攜程、馬蜂窩爬蟲(chóng)采用前后端分離架構(gòu)。面向計(jì)算機(jī)、通信、人工智能、自動(dòng)化等專(zhuān)業(yè)的學(xué)生、老師或從業(yè)者既可用于期末課程設(shè)計(jì)、課程大作業(yè)也可作為畢業(yè)設(shè)計(jì)的完整參考方案解決景點(diǎn)評(píng)論數(shù)據(jù)采集、文本情感分析及結(jié)果展示等關(guān)鍵問(wèn)題。zip壓縮包共102個(gè)文件大小約47.71MB其中32個(gè)py源碼承載爬蟲(chóng)、情感分析、后端接口等核心邏輯10個(gè)vue組件與6個(gè)js腳本搭建前端界面4個(gè)json、3個(gè)html及md/txt文檔輔助配置與使用說(shuō)明結(jié)構(gòu)清晰便于按模塊查看。項(xiàng)目為答辯評(píng)審98分的個(gè)人畢設(shè)全部代碼經(jīng)過(guò)調(diào)試測(cè)試可運(yùn)行覆蓋從數(shù)據(jù)采集、文本預(yù)處理、情感分類(lèi)到可視化展示的完整鏈路既有新手友好的學(xué)習(xí)價(jià)值也有較強(qiáng)的擴(kuò)展空間有基礎(chǔ)者可根據(jù)需要調(diào)整爬蟲(chóng)目標(biāo)、優(yōu)化模型或增加圖表。目前已有228人學(xué)習(xí)下載適合作為計(jì)算機(jī)、人工智能等相關(guān)方向的課題參考與二次開(kāi)發(fā)基礎(chǔ)。1. 這套旅游評(píng)論情感分析系統(tǒng)98 分畢設(shè)里真正能跑起來(lái)的東西先說(shuō)結(jié)論這是一套前后端分離的旅游景點(diǎn)評(píng)論情感分析項(xiàng)目爬蟲(chóng)端覆蓋攜程和馬蜂窩兩個(gè)平臺(tái)分析端對(duì)評(píng)論做情感極性判定最終通過(guò)注冊(cè)登錄、景點(diǎn)篩選、結(jié)果圖表把整個(gè)流程串起來(lái)。作者在答辯里拿到 98 分不是靠概念堆出來(lái)的而是因?yàn)槊總€(gè)環(huán)節(jié)都有可演示的產(chǎn)物——你打開(kāi)前端頁(yè)面選一個(gè)景點(diǎn)系統(tǒng)能從爬蟲(chóng)抓取一直跑到情感分布圖渲染。對(duì)于要做 Python 畢業(yè)設(shè)計(jì)、課程大作業(yè)或者想入門(mén)爬蟲(chóng)與 NLP 結(jié)合的從業(yè)者來(lái)說(shuō)這套系統(tǒng)的價(jià)值在于它把爬蟲(chóng)、數(shù)據(jù)清洗、情感分析、前后端交互四條線完整打通了。我拆完這套資源后的直觀感受是代碼量不大但工程結(jié)構(gòu)比大多數(shù)“只有一個(gè) notebook”的畢設(shè)完整得多值得照著復(fù)現(xiàn)一遍。2. 前后端分離的工程骨架Quasar 前端與 Python 后端的啟動(dòng)順序2.1 先從 quasar.conf.js 看懂前端的真實(shí)身份這套系統(tǒng)前端目錄里有 index.html、result.html、index.template.html、quasar.conf.js稍微熟悉 Vue 生態(tài)的人一眼就能認(rèn)出來(lái)這是 Quasar 框架的項(xiàng)目結(jié)構(gòu)。Quasar 是一套基于 Vue 的 UI 框架官方定位是“一套代碼編譯成 SPA、SSR、PWA 甚至移動(dòng)端”畢設(shè)用它來(lái)寫(xiě)后臺(tái)管理類(lèi)頁(yè)面非常合適因?yàn)楸砀?、表單、圖表組件開(kāi)箱即用不用像手寫(xiě) Bootstrap 那樣拼半天。quasar.conf.js 是這個(gè)前端項(xiàng)目的核心配置文件里面主要做三件事聲明要用哪些 Quasar 插件比如 Loading、Notify、配置 dev server 的端口和代理、定義構(gòu)建產(chǎn)物的輸出路徑。注意這里的 dev server 端口默認(rèn)是 8080而后端 Python 服務(wù)我拆下來(lái)看默認(rèn)跑在 5000 或 8000 端口兩者不同源所以前端請(qǐng)求后端接口時(shí)大概率會(huì)遇到跨域問(wèn)題——這一點(diǎn)我會(huì)在第 5 章專(zhuān)門(mén)講實(shí)際上這個(gè)項(xiàng)目里已經(jīng)內(nèi)置了代理方案但你如果直接雙擊 index.html 打開(kāi)是跑不起來(lái)的必須通過(guò) quasar dev 啟動(dòng)。2.2 后端 Python 服務(wù)的路由設(shè)計(jì)與數(shù)據(jù)流向后端的核心邏輯按模塊拆分爬蟲(chóng)模塊負(fù)責(zé)抓取評(píng)論情感分析模塊負(fù)責(zé)對(duì)評(píng)論文本打分API 層負(fù)責(zé)把結(jié)果暴露成 HTTP 接口。一個(gè)典型的數(shù)據(jù)流向是用戶在前端選擇景點(diǎn) → 前端調(diào)用后端/api/analyze接口 → 后端讀取該景點(diǎn)在數(shù)據(jù)庫(kù)里已有的評(píng)論 → 情感分析模塊逐條打分 → 返回各情感類(lèi)別的統(tǒng)計(jì)結(jié)果和樣例評(píng)論 → 前端用 ECharts 渲染餅圖和柱狀圖。# app.py 中的核心路由示意 from flask import Flask, jsonify, request from analyzer import SentimentAnalyzer from db import get_reviews_by_scenic app Flask(__name__) analyzer SentimentAnalyzer() app.route(/api/analyze, methods[POST]) def analyze(): scenic_id request.json.get(scenic_id) reviews get_reviews_by_scenic(scenic_id) if not reviews: return jsonify({code: 404, msg: 該景點(diǎn)暫無(wú)評(píng)論數(shù)據(jù)請(qǐng)先爬取}) result analyzer.analyze_batch(reviews) return jsonify({code: 0, data: result})這個(gè)路由做的事情非常直白拿到前端傳來(lái)的景點(diǎn) ID去數(shù)據(jù)庫(kù)撈評(píng)論丟給情感分析器批量處理最后把結(jié)構(gòu)化結(jié)果返回。值得留意的是analyze_batch這個(gè)方法它不是簡(jiǎn)單地 for 循環(huán)而是內(nèi)部先做文本清洗再逐條走分詞和詞表匹配最后按正面、負(fù)面、中性三個(gè)類(lèi)別做聚合統(tǒng)計(jì)。2.3 依賴安裝與啟動(dòng)順序先后端后前端很多第一次跑這個(gè)項(xiàng)目的人翻車(chē)不是因?yàn)榇a有問(wèn)題而是啟動(dòng)順序錯(cuò)了。后端 Flask 服務(wù)如果沒(méi)起來(lái)前端頁(yè)面能打開(kāi)但所有接口全部報(bào)錯(cuò)頁(yè)面看起來(lái)是“白屏控制臺(tái)一片紅”。正確的順序是先裝后端依賴啟動(dòng) Python 服務(wù)再啟動(dòng) Quasar 前端。# 第一步安裝后端依賴Python 3.8 環(huán)境 pip install flask flask-cors requests jieba sqlalchemy pymysql # 第二步啟動(dòng)后端服務(wù) python app.py # 第三步進(jìn)入前端目錄安裝依賴并啟動(dòng) cd frontend npm install npx quasar dev這套順序里有幾個(gè)參數(shù)需要按你自己的環(huán)境改數(shù)據(jù)庫(kù)連接串在db.py里默認(rèn)我拆包看到的是 MySQL 的配置如果你本地沒(méi)裝 MySQL可以直接改 SQLite改動(dòng)量大約是 10 行Flask 的端口如果在app.run(port5000)被占用改成 5001 后前端quasar.conf.js里的 proxy 目標(biāo)端口也要同步改否則代理轉(zhuǎn)發(fā)會(huì)失效。啟動(dòng)完成后訪問(wèn)http://localhost:8080能看到登錄注冊(cè)頁(yè)說(shuō)明前端起來(lái)了再往后端http://localhost:5000/api/ping發(fā)一個(gè) GET 請(qǐng)求返回 JSON 說(shuō)明鏈路通了一半。3. 攜程與馬蜂窩評(píng)論爬蟲(chóng)請(qǐng)求偽裝、分頁(yè)抓取與字段落庫(kù)3.1 兩個(gè)平臺(tái)的反爬差異與應(yīng)對(duì)策略攜程和馬蜂窩的評(píng)論接口形態(tài)完全不一樣。攜程的評(píng)論數(shù)據(jù)走的是一套內(nèi)部 API返回 JSON 結(jié)構(gòu)里面嵌套了用戶名、評(píng)分、評(píng)論內(nèi)容、點(diǎn)評(píng)時(shí)間等字段但請(qǐng)求頭里必須帶特定的 Referer 和 User-Agent否則直接拒絕服務(wù)。馬蜂窩則是服務(wù)端渲染的 HTML 頁(yè)面評(píng)論數(shù)據(jù)混在 DOM 節(jié)點(diǎn)里需要先請(qǐng)求頁(yè)面再用 XPath 或正則抽取而且它的列表頁(yè)有滾動(dòng)懶加載直接 requests 只能拿到前幾條。這套系統(tǒng)的爬蟲(chóng)代碼里對(duì)兩個(gè)平臺(tái)分別寫(xiě)了獨(dú)立的爬蟲(chóng)類(lèi)公共部分抽了一個(gè) BaseCrawler里面封裝了帶重試的請(qǐng)求方法。核心思路就是把請(qǐng)求頭偽裝成真實(shí)瀏覽器攜程接口用requests.get帶 params 拉取馬蜂窩用requests.get拿 HTML 后用lxml解析。# crawler_ctrip.py 的核心抓取邏輯節(jié)選 import requests from lxml import etree class CtripCrawler: def __init__(self): self.headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Referer: https://you.ctrip.com/, Accept: application/json, } self.base_url https://you.ctrip.com/sight/{poi_id}/comment-list.html def fetch_comments(self, poi_id, pages5): all_comments [] for page in range(1, pages 1): resp requests.get( self.base_url.format(poi_idpoi_id), params{start: (page - 1) * 10}, headersself.headers, timeout10 ) data resp.json() items data.get(data, {}).get(commentList, []) for item in items: all_comments.append({ user: item.get(userName), content: item.get(content), score: item.get(score), time: item.get(commentTime) }) return all_comments這個(gè)實(shí)現(xiàn)里有幾個(gè)參數(shù)是實(shí)際調(diào)試時(shí)最關(guān)鍵的點(diǎn)params里的start控制分頁(yè)偏移攜程每頁(yè)固定 10 條timeout10是給每個(gè)請(qǐng)求的上限防止某個(gè) IP 被限制后卡住整個(gè)爬蟲(chóng)poi_id是景點(diǎn)在攜程內(nèi)部的唯一 ID這個(gè) ID 怎么找打開(kāi)攜程景點(diǎn)頁(yè)URL 里sight/后面那串?dāng)?shù)字就是。3.2 馬蜂窩的滾動(dòng)加載問(wèn)題與 XPath 字段抽取馬蜂窩的評(píng)論列表頁(yè)不是分頁(yè)按鈕而是“滾動(dòng)到底部加載更多”這是典型的動(dòng)態(tài)加載頁(yè)面。直接 requests 拿到的 HTML 里只有第一屏的數(shù)據(jù)。這套系統(tǒng)里處理方式很務(wù)實(shí)分析頁(yè)面里預(yù)埋的window.__INITIAL_STATE__全局變量這個(gè)變量里包含了前幾頁(yè)的評(píng)論數(shù)據(jù)夠演示用了。如果要做大樣本采集再考慮用 Selenium 模擬滾動(dòng)但畢設(shè)場(chǎng)景下沒(méi)必要引入那么重的依賴。# crawler_mafengwo.py 的 HTML 解析邏輯 import requests from lxml import etree import json import re class MafengwoCrawler: def __init__(self): self.headers { User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X), Accept: text/html,application/xhtmlxml } def fetch_comments(self, scenic_id, pages3): url fhttps://www.mafengwo.cn/poi/{scenic_id}.html resp requests.get(url, headersself.headers, timeout10) html resp.text # 提取預(yù)埋在頁(yè)面里的初始數(shù)據(jù) match re.search(rwindow\.__INITIAL_STATE__\s*\s*(.*?)/script, html) if not match: return [] state json.loads(match.group(1)) comments state.get(commentList, []) return [{ user: c.get(nickname), content: c.get(comment), score: c.get(score, 0), time: c.get(date) } for c in comments]這里值得注意的細(xì)節(jié)是 User-Agent 用了 iPhone 的標(biāo)識(shí)因?yàn)轳R蜂窩移動(dòng)端的反爬策略比 PC 端寬松返回的 HTML 結(jié)構(gòu)也更規(guī)整。re.search的正則里.*?是非貪婪匹配確保拿到第一個(gè)/script前的內(nèi)容如果頁(yè)面改版導(dǎo)致結(jié)構(gòu)變化最先報(bào)錯(cuò)的就是這一行。整體看下來(lái)馬蜂窩的爬蟲(chóng)實(shí)現(xiàn)比攜程更簡(jiǎn)單但容錯(cuò)性也差一些后面第 5 章我會(huì)講它最容易踩的坑。3.3 評(píng)論去重與字段清洗兩個(gè)平臺(tái)的評(píng)論字段并不一致馬蜂窩沒(méi)有評(píng)分字段或者評(píng)分為空攜程的評(píng)論內(nèi)容里可能帶“發(fā)布于”之類(lèi)的雜質(zhì)文字。這套系統(tǒng)在寫(xiě)入數(shù)據(jù)庫(kù)之前做了一層清洗和去重。清洗邏輯是去掉空白字符和 HTML 標(biāo)簽按長(zhǎng)度過(guò)濾掉低于 5 個(gè)字的評(píng)論去重邏輯是對(duì)評(píng)論內(nèi)容做 MD5 哈希存入數(shù)據(jù)庫(kù)時(shí)加唯一索引重復(fù)評(píng)論直接忽略。采集字段最終落庫(kù)的結(jié)構(gòu)如下字段名類(lèi)型說(shuō)明idINT 自增主鍵scenic_nameVARCHAR(64)景點(diǎn)名稱(chēng)sourceVARCHAR(16)來(lái)源平臺(tái)ctrip / mafengwouser_nameVARCHAR(64)用戶昵稱(chēng)contentTEXT清洗后的評(píng)論文本scoreFLOAT評(píng)分?jǐn)y程有值馬蜂窩可能為 0comment_timeDATETIME評(píng)論時(shí)間content_hashCHAR(32)內(nèi)容 MD5用于去重這個(gè)表結(jié)構(gòu)是這套系統(tǒng)里比較有價(jià)值的工程設(shè)計(jì)。content_hash字段配合數(shù)據(jù)庫(kù)唯一索引能從源頭杜絕重復(fù)數(shù)據(jù)污染后續(xù)的情感分析結(jié)果。4. 情感分析核心分詞、詞表打分與統(tǒng)計(jì)接口的實(shí)現(xiàn)思路4.1 jieba 分詞與自定義詞典的作用情感分析模塊的第一步是分詞。這套系統(tǒng)用的是 jieba 分詞庫(kù)默認(rèn)詞典對(duì)通用文本效果不錯(cuò)但旅游評(píng)論里有大量景點(diǎn)名、地名、口語(yǔ)化表達(dá)比如“迪士尼”“外灘”“打卡”默認(rèn)分詞經(jīng)常會(huì)切成“迪斯 尼”或者“打 卡”影響后續(xù)情感詞的匹配。# analyzer.py 中的分詞與清洗 import jieba import re STOP_WORDS {的, 了, 是, 在, 就, 都, 也, 很, 有, 這, 那} def clean_and_tokenize(text): # 去 HTML 標(biāo)簽和特殊符號(hào) text re.sub(r.*?, , text) text re.sub(r[^\u4e00-\u9fa5a-zA-Z0-9], , text) words jieba.lcut(text) # 過(guò)濾停用詞和單字 return [w for w in words if w not in STOP_WORDS and len(w.strip()) 1]這里的核心參數(shù)是STOP_WORDS集合它直接決定情感分析的準(zhǔn)確率。如果停用詞太少“不算差”“不太行”里的“不”會(huì)被抽走變成正向情感停用詞太多又會(huì)把“不錯(cuò)”里的“不”誤殺。常見(jiàn)的做法是維護(hù)一個(gè)針對(duì)旅游評(píng)論場(chǎng)景的停用詞表把“確實(shí)”“真的”“簡(jiǎn)直”這類(lèi)程度副詞保留下來(lái)——它們雖然在停用詞名單里但在情感分析里起著語(yǔ)氣強(qiáng)化作用一般不建議過(guò)濾。實(shí)戰(zhàn)中我一般會(huì)把“沒(méi)”“不”“別”這幾個(gè)否定詞單獨(dú)處理因?yàn)樗鼈兊某霈F(xiàn)會(huì)讓整句情感反轉(zhuǎn)。4.2 正負(fù)向詞表打分機(jī)制這套系統(tǒng)的情感判定沒(méi)有用復(fù)雜的深度學(xué)習(xí)模型而是采用基于情感詞典的極性打分。原理是構(gòu)建一個(gè)正面詞表和一個(gè)負(fù)面詞表每個(gè)詞帶一個(gè)權(quán)重分詞結(jié)果逐一匹配詞表累計(jì)得分。得分大于閾值判定為正向小于負(fù)閾值判定為負(fù)向中間歸為中性。# analyzer.py 的情感打分核心 class SentimentAnalyzer: def __init__(self): self.positive_words {好評(píng): 2, 漂亮: 1.5, 值得: 1.5, 推薦: 2, 滿意: 2} self.negative_words {差評(píng): 2, 失望: 2, 一般: 0.5, 后悔: 2, 坑: 1.5} self.negation_words {不, 沒(méi), 別, 不太} def analyze_batch(self, reviews): results {positive: 0, negative: 0, neutral: 0} details [] for review in reviews: words clean_and_tokenize(review[content]) score 0 for idx, word in enumerate(words): if word in self.positive_words: score self.positive_words[word] elif word in self.negative_words: score - self.negative_words[word] # 否定詞反轉(zhuǎn)不 正面詞 負(fù)面 if idx 0 and words[idx-1] in self.negation_words: score -score if score 0.5: results[positive] 1 details.append((review[content], 正面, score)) elif score -0.5: results[negative] 1 details.append((review[content], 負(fù)面, score)) else: results[neutral] 1 details.append((review[content], 中性, score)) return {stats: results, details: details}這里有個(gè)細(xì)節(jié)值得展開(kāi)否定詞反轉(zhuǎn)用的是“看前一個(gè)詞”的笨辦法遇到“不太滿意”這種雙重否定就會(huì)判錯(cuò)——“不”和“太”都是否定詞按這個(gè)邏輯會(huì)反轉(zhuǎn)兩次回到正面而實(shí)際語(yǔ)義是負(fù)面。要改進(jìn)就把negation_words設(shè)計(jì)成窗口掃描統(tǒng)計(jì)一句話里否定詞出現(xiàn)次數(shù)奇數(shù)次反轉(zhuǎn)、偶數(shù)次不反轉(zhuǎn)。但從畢設(shè)展示角度現(xiàn)有邏輯已經(jīng)能覆蓋絕大多數(shù)簡(jiǎn)單評(píng)論尤其是“景點(diǎn)不錯(cuò)”“服務(wù)很差”這類(lèi)直白表達(dá)。4.3 統(tǒng)計(jì)結(jié)果如何喂給前端圖表情感分析模塊輸出的stats字典包含了正、負(fù)、中三個(gè)類(lèi)別的評(píng)論數(shù)量后端把這個(gè)字典連同樣例評(píng)論一起打包成 JSON 返回。前端拿到數(shù)據(jù)后用 ECharts 的餅圖展示情感分布用列表展示各情感類(lèi)別下的代表性評(píng)論。這個(gè)接口的返回格式是一個(gè)約定前端result.html頁(yè)面對(duì)應(yīng)的渲染邏輯// frontend/src/pages/Result.vue 中的核心請(qǐng)求節(jié)選 async function loadResult() { const res await fetch(/api/analyze, { method: POST, headers: {Content-Type: application/json}, body: JSON.stringify({ scenic_id: selectedScenicId }) }) const json await res.json() if (json.code 0) { renderChart(json.data.stats) renderCommentList(json.data.details) } }selectedScenicId是用戶在前一個(gè)頁(yè)面選中的景點(diǎn) ID這個(gè)值從景點(diǎn)列表接口來(lái)。整條鏈路到這里就閉合了爬蟲(chóng)負(fù)責(zé)把外部評(píng)論搬進(jìn)數(shù)據(jù)庫(kù)情感分析模塊把評(píng)論變成可量化的情感分?jǐn)?shù)前端把分?jǐn)?shù)變成圖表。從工程實(shí)現(xiàn)角度看這套系統(tǒng)最有學(xué)習(xí)價(jià)值的地方不是某個(gè)算法有多牛而是數(shù)據(jù)完整地在三個(gè)層級(jí)之間流轉(zhuǎn)沒(méi)有斷點(diǎn)。5. 避坑記錄封 IP、跨域攔截與中文亂碼四連5.1 爬蟲(chóng)請(qǐng)求頻繁導(dǎo)致 IP 被封現(xiàn)象攜程爬蟲(chóng)跑到第 30 頁(yè)左右后續(xù)所有請(qǐng)求返回 403頁(yè)面提示訪問(wèn)異常連手動(dòng)打開(kāi)網(wǎng)頁(yè)都受限。原因請(qǐng)求頻率太高沒(méi)有設(shè)置延時(shí)攜程的反爬機(jī)制識(shí)別到同一 IP 的密集訪問(wèn)后觸發(fā)了臨時(shí)封禁持續(xù)時(shí)間大約 10 到 20 分鐘。解決在爬蟲(chóng)的fetch_comments里加入隨機(jī)延時(shí)用time.sleep(random.uniform(1, 3))并且把每頁(yè)的抓取間隔和總頁(yè)數(shù)關(guān)聯(lián)起來(lái)。另外把請(qǐng)求頭里的Accept-Language補(bǔ)上降低被識(shí)別為腳本的概率。這套系統(tǒng)原始代碼里沒(méi)有延時(shí)我拆包時(shí)第一輪復(fù)現(xiàn)就是在這個(gè)位置踩的坑加延時(shí)后連續(xù)跑 200 頁(yè)都沒(méi)再觸發(fā)封禁。5.2 前端頁(yè)面打開(kāi)后所有接口報(bào)跨域錯(cuò)誤現(xiàn)象Quasar 前端跑在 8080 端口后端 Flask 跑在 5000 端口瀏覽器里請(qǐng)求/api/analyze直接報(bào)CORS error接口一個(gè)都調(diào)不通。原因這是一個(gè)標(biāo)準(zhǔn)的前后端分離跨域問(wèn)題瀏覽器默認(rèn)禁止不同端口之間的 XHR 請(qǐng)求。項(xiàng)目里雖然引了flask-cors但如果你沒(méi)在 Flask 實(shí)例上正確注冊(cè) CORS跨域照樣攔。解決后端的 Flask 入口里加一行配置# app.py 中的跨域配置 from flask_cors import CORS CORS(app, resources{r/*: {origins: *}})resources{r/*: {origins: *}}表示所有路由都允許任意來(lái)源訪問(wèn)畢設(shè)本地調(diào)試夠用了。如果將來(lái)部署到服務(wù)器把origins改成前端的實(shí)際域名不要用通配符否則等于向后端開(kāi)放了所有跨域權(quán)限。5.3 評(píng)論寫(xiě)入 MySQL 后中文亂碼現(xiàn)象爬蟲(chóng)打印的評(píng)論內(nèi)容是正常的但存進(jìn)數(shù)據(jù)庫(kù)后變成了???或者繁體亂碼。原因MySQL 數(shù)據(jù)庫(kù)表默認(rèn)字符集是latin1不支持中文。Python 的 MySQL 連接串里也沒(méi)指定charset參數(shù)導(dǎo)致寫(xiě)入時(shí) UTF-8 編碼被強(qiáng)制轉(zhuǎn)成了 latin1。解決建表時(shí)指定字符集連接時(shí)也指定# db.py 中的連接串修改 engine create_engine( mysqlpymysql://root:passwordlocalhost:3306/travel_sentiment?charsetutf8mb4, echoTrue )charsetutf8mb4是關(guān)鍵參數(shù)utf8mb4是完整的 UTF-8 實(shí)現(xiàn)支持四字節(jié)的 emoji 字符。評(píng)論內(nèi)容里經(jīng)常有 emoji用utf8會(huì)報(bào)編碼錯(cuò)誤用utf8mb4才能完整存儲(chǔ)。5.4 馬蜂窩爬蟲(chóng)采到的評(píng)論數(shù)量明顯比頁(yè)面顯示少現(xiàn)象頁(yè)面上下拉能看到四五十條評(píng)論爬蟲(chóng)只抓到七八條。原因馬蜂窩的window.__INITIAL_STATE__只預(yù)埋了前兩頁(yè)數(shù)據(jù)后續(xù)內(nèi)容全部靠滾動(dòng)觸發(fā)接口動(dòng)態(tài)加載而網(wǎng)絡(luò)請(qǐng)求拿到的 HTML 里根本不含這些動(dòng)態(tài)內(nèi)容。解決接受現(xiàn)實(shí)——用預(yù)埋數(shù)據(jù)抓取就是只能抓到兩頁(yè)的量。如果確實(shí)需要更多直接在爬蟲(chóng)里再請(qǐng)求馬蜂窩內(nèi)部的評(píng)論分頁(yè)接口但這個(gè)接口的簽名參數(shù)是加密的調(diào)試成本比較高。畢設(shè)答辯場(chǎng)景下能抓到二三十條有效評(píng)論做情感分析展示就足夠了重點(diǎn)是把清洗和分析鏈路講清楚評(píng)審老師不會(huì)糾結(jié)樣本量。6. 答辯前的最后一道工序換景點(diǎn)重跑全流程的檢查清單這套系統(tǒng)默認(rèn)帶了幾個(gè)演示景點(diǎn)但答辯時(shí)最出彩的動(dòng)作是現(xiàn)場(chǎng)換一個(gè)完全沒(méi)跑過(guò)的景點(diǎn)從爬蟲(chóng)到情感分析全鏈路走一遍。換景點(diǎn)不需要?jiǎng)哟a只需要改一個(gè)參數(shù)景點(diǎn) ID。攜程的景點(diǎn) ID 去景點(diǎn)頁(yè) URL 里找馬蜂窩的景點(diǎn) ID 去poi/后面的數(shù)字串里找。我自己的習(xí)慣是答辯前強(qiáng)制走一遍完整的驗(yàn)證流程按順序確認(rèn)五件事第一確認(rèn)后端服務(wù)活著curl http://localhost:5000/api/ping返回值正常第二確認(rèn)前端頁(yè)面能打開(kāi)登錄后能看到景點(diǎn)列表第三執(zhí)行一次新景點(diǎn)的爬蟲(chóng)確認(rèn)數(shù)據(jù)庫(kù)里新增了對(duì)應(yīng)評(píng)論第四在前端頁(yè)面選擇這個(gè)新景點(diǎn)確認(rèn)情感分布圖和評(píng)論列表渲染出來(lái)了第五抽查三條評(píng)論人工判斷情感傾向是否和分析結(jié)果一致。# 一鍵驗(yàn)證腳本 check_pipeline.sh #!/bin/bash # 檢查后端 curl -s http://localhost:5000/api/ping | grep -q pong echo [OK] 后端存活 || echo [FAIL] 后端未啟動(dòng) # 檢查數(shù)據(jù)庫(kù)評(píng)論數(shù) mysql -uroot -p123456 -e SELECT COUNT(*) FROM reviews WHERE scenic_name東方明珠; # 檢查情感分析接口 curl -s -X POST http://localhost:5000/api/analyze -H Content-Type: application/json -d {scenic_id:124} | python -m json.tool | head -20這個(gè)腳本看起來(lái)簡(jiǎn)單但實(shí)際能擋住大部分低級(jí)的答辯事故后端忘了啟動(dòng)、數(shù)據(jù)庫(kù)沒(méi)建表、景點(diǎn) ID 選錯(cuò)導(dǎo)致接口返回空數(shù)據(jù)。每次換新景點(diǎn)我會(huì)先把要換的 ID 記下來(lái)跑完爬蟲(chóng)后立刻查一下數(shù)據(jù)庫(kù)的寫(xiě)入量確認(rèn)沒(méi)有因?yàn)榉磁?IP 封禁導(dǎo)致零數(shù)據(jù)入庫(kù)。還有一個(gè)細(xì)節(jié)容易被忽略爬蟲(chóng)抓下來(lái)的是實(shí)時(shí)評(píng)論但情感分析的結(jié)果只對(duì)當(dāng)前數(shù)據(jù)庫(kù)里的數(shù)據(jù)有意義。答辯前不要反復(fù)跑同一個(gè)景點(diǎn)的爬蟲(chóng)因?yàn)橹貜?fù)評(píng)論會(huì)被content_hash唯一索引攔掉但接口的響應(yīng)時(shí)間會(huì)變長(zhǎng)——評(píng)審老師看到頁(yè)面轉(zhuǎn)圈超過(guò)三秒整個(gè)演示的流暢度就打折了。從那以后我每次做類(lèi)似的項(xiàng)目演示都會(huì)強(qiáng)制把“換數(shù)據(jù)源重跑全鏈路”這一步放進(jìn)檢查清單先確認(rèn)數(shù)據(jù)能進(jìn)來(lái)再確認(rèn)分析能算完最后才點(diǎn)開(kāi)前端頁(yè)面。這套流程看著笨但能幫你篩掉八成現(xiàn)場(chǎng)翻車(chē)的情況。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月天伊人手机在线播放AV| 三级黄色大片视频| 婷香五月激情视频| 99re思思热这里| 一起草Av| 午夜九九九九九九九九九九九九九| 色综合五月天| 久久五月综合| 99色婷婷| 丁香婷婷五月色成人网站| 日本天天综合| 色情·com| 精品久久久999| 99五丁香月| 色色综合网站| 久色网| 激情丁香五月天| 婷婷深爱色五月| 激情六月天婷婷| 色一色综合| 国产一级片| 天天婷婷色六月| 成人精品一区二区三区四区五区| 伊人久久婷婷| www超碰| 偷拍九九五月丁香婷婷| 日韩av网站在线观看| 丁香五月婷婷国产av| 超碰av在线| 五月丁香成人小说| 大香蕉久久婷婷| 日本社区五月天激情| 五月青青草综合| 丁香五月婷婷久久综合激情网 | 激情都市五月天| 亚洲色精彩| 碰碰女| 五月天久久网站| 婷婷五月在线| 3p久久| 日本A片一区| 国产婷婷色综合AV蜜臀AV | 激情综合五月| 91丨九色丨东北熟女| 天天操天天操天天操天天操天天操 | 开心激情婷婷| 超碰v| 天天影院色| AV在线大香蕉| 色婷婷电影| 夜夜爽天天爽| 国产成人片| 白人荫道BBWBBB大荫道| 婷婷丁香五月天激情四射| 玩熟女五十AV一二三区| 五月婷婷国产| 日本va欧美va欧美va精品| 九九这里是免费的视频5| 91网站黄| 亚洲激情免费久久| 丁香五月天激情小说| 亚洲看av的网站| sewuyuejiqingwang| 人人爱天天摸摸天天爱| 久久免费婷婷视频| 99久热在线精品| 超碰人人操在线| a网站免费观看| 99热超碰在线| 精品成人在线| 欧美人久久| 九九久久五月天| 精品乱码视频| 色99热| 色五月色五天免费视频| 狠狠干狠狠色| 91丁香色五月| 激情网第九色| 深爱五月最新网址| 97啪啪| 五月天偷拍| 艹B高清无码| 免费在线观看av网站| 免费成人网在线观看| 九九精品热播| 思思综合热| 五月天色影院| 五月婷久久| 激情五月丁香五月色| 三日本无码| 99噜噜| 婷婷五月综合婷婷| 五月丁香在线看| 久久92| 国产毛片精品一区二区色欲黄A片| 色婷婷丁香花五月天| 色综合久久无码| 婷婷激情五月| 九九色热| 日产精品一线二线三线芒果| 熟女激情网| 99热这只有| 裸体美女丁香五月天。| 国产精品久久久久久久久久| 亚洲天99| 婷婷五月天亚洲综合| 丁香五月中文字幕| 婷综合六月| 噜噜噜噜噜在线| 婷婷五月六月丁香综合| 色999五月色| 亚洲视频码| 91精品丝袜久久久久久| 五月丁香激情综合网| www.99视频| 亚州色综合| 国产xxxxx在线观看| 久久小片| 五月停性愛| 久久婷婷精品| 亚洲综合五月天| 国产69久久久欧美黑人A片| 六月丁香停| 五月天久久婷婷婷| 五月婷婷在线视频| 日本在线视频播放91| 高清无码中文字幕aVDV| 噼里啪啦完整版中文在线观看| 五月婷婷九九久久| 日日插日日干| #NAME?| 婷婷狠狠久久| 久久亚洲婷婷| 久思思久视频| 久草天堂| 九月影院義母在线播放| 日本WWW九九九| 日木WWW视频| 91久热| xx人人xx| 99人人干人人操| 久热这里只有精品在线观看 | 激情网站综合五月天| av在线中文| 九色激情| 99热无码| 婷婷六月成人| 99热这里只有精品2| 国产69久久久欧美黑人A片 | 99热这里只有在线| 亚洲日比视频| 婷婷丁香色无五月| www.一起草av| 成人丁香| 99九九在线精品热动漫| caop在线| 婷婷月五天在线在线看| 狠狠综合| 午夜爱爱爱成人| 99性爱| 欧美五月婷婷| 狠狠做婷婷| 色综合激情| 天天久久狠狠色综合| 色婷婷综合综合网| 成人在线不卡| 五月天第四色开心色播| 五月婷婷涩涩爱| 婷婷伊人激情婷婷| 久操乱| 襙逼网| 屁股翘好撅高迎合跪趴| 色婷婷五月天天天干天天操天天爽| 成人片黄网站色大片免费毛片| 激情综合综合综合| 五月婷婷色欲| 亚洲激情婷婷| 99在线69| 丁香五月天视频| 五月天激情综合在线| 天天日,天天干,天天操| 五月婷婷综合激情| 超碰色碰碰| 色播五月丁香| 久久婷婷五月天激情四射| 五月丁香啪啪啪| 五月色激情综合网| 色综合色五月| 精品99网站| 亚洲成人影视在线| 色婷婷丁香五月| 9l视频自拍9l九色9l成人| 日本丁香五月| 狠狠操.com| 天天插天天插| 99热这里只有精品4| 碰碰操91| www.99色| 天天爽夜爽| 色婷婷国产精品综合在线观看| 久久久久婷| 婷婷综合色图| 国产欧美日韩综合精品一区二区| 99热在线这里| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 色婷婷久久| 丁香六月婷婷久久综合八月| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 99热6这里只有精品| 色色色色色五月| 91九色国产在线| 91欧美| 免费无码毛片一区二区A片| 精品综合五月| 中文字幕九九九九| 亚洲99热| www.婷婷| 色爱综合网| 九九热这里只有精品7| 国产毛多水多女人A片| 色婷婷激情视频| 538任你爽视频不一样的| 五月丁香999| 九九视频热| 六月丁香六月婷婷欧美| 国产精品色情AAAAA片软件| 五月天另类图片| 亚洲旡码| 久热天堂| 少妇性BBB搡BBB爽爽爽视頻| 色五月成人| 色婷婷六月精品| 国产日韩av片| 日本美女97在线视频| 丁香婷婷色| 五月情综合| 色婷成人狠干| 色色婷婷综合| 色色99| 免费亚洲婷婷| 五月综合六月婷婷| 五月丁香婷婷无码中文| 99碰网站| 五月婷婷丁香综合,亚洲天堂| 色色a| 91九色视频在线观看| 伊人综合网4| 五月丁香激情综合啪啪| 国产黄色av| 国产FREESEXVIDEOS性中国| 精品色色| 九九热在线精品| 337p午夜影院| 丁香五月日啪| 日日夜夜狠狠婷婷色| 青青999| 国产精品扒开腿做爽爽爽A片唱戏| 99这里只有精品| 激情五月亚洲| 色五月成人网| 五月天自拍网| 婷婷六月爽| 91黄址| 成人综合视频在线| 99热777| 色性综合| 91久操| 九九99九九99| 丁香五月手机在线| 99热免费精品| 精品网站:999WWW| 天天综合区| 欧美大片| 亚洲中文字幕AV在线| www.99在线| 67194成I人在线观看线路1| 婷婷五月激情天| 五月天激情久色| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 五月丁香999| 婷婷五月天无码| 国产片色| 色色色.COM| 丁香婷停五月激情综合深爱| 六月色五月天天婷婷| 色色综合日韩| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 丁香五月开心亚洲| 欧美六月| 五月婷在线色视频| 五月婷婷九| 五月色丁香国产在线视频| 九九视频这里是精品五月| 五月丁香美女视频| VA国产在线综合网站| 五月婷婷中字在线| 久久激情综合| 精品成人无码A片观看香草视频 | 五月婷丁香| 婷婷婷婷婷婷婷婷| 久热 91| 九色七七| 激情五月丁香五月| av大片在线| 色婷婷激情Av久久久| 国产午夜精品一区二区三区四区| 青吴乐视频| 999热视频精品99免费在线| 婷婷开心久久| 变态另类色图| 五月丁香啪综合| 欧美综合123区| 久久久久9| 久久er视频6| 国产阿姨日皮艹逼内射视频| 永久地址 色| 色婷婷五月视频| 六月婷婷激情| www.夜夜| 国产女18毛片多18精品| 亚洲六月婷婷| 秋霞电影理论| 久操97| 中文字幕成人| 九九爱激情| 久久99jiu9| 91九色 婷婷| 国产日比| 色婷婷五月天在线| www色五月| 亚洲熟妇AV乱码在线观看| 欧美A级成人婬片免费看理论| 久久综合香蕉国产国产蜜臀AV| 日本97在线| 日本99热| 婷婷五月亚洲一本在线丁香| 99热这里只有精品2| 女人高潮内射99精品| 日韩中出视频| 99re最新地址视频| 婷婷五月天激情诱惑| 五月天久久久| 99re久热| 美女亚洲五月丁香| 五月天婷婷基地| 日本久久天堂| 五月色亚洲| 久久五月天大美女| 婷婷五月天播播| 51国精产品自偷自偷综合| 亚洲av电影网站| 五月色婷婷影院| 丁香狠狠| 97精品综合| 人人操人人妻| 久久视频这里都是精品| 久久久精品AV| 超级碰碰碰久久网站视频| 在线色色| 丁香五月天在线观看| 五月丁香六月综合激情| 五月婷婷六月综合| 亚洲色婷婷视频| 五月天婷婷在线AN| 五月天婷婷情色| 激情五月丁香在线观看直播| 久久99热这里只有精品| 91精产品自偷自偷综合| 欧美国产一区二区三区| www久视频com| 5月婷婷综合| 婷婷社区五月天| 夜精品无码A片一区二区蜜桃| 婷婷九月亚洲| 91尤物九色在线| 99色热视频| 五月丁香六月婷婷网| 91日综合欧美| 99色免费视频| 久久大国产香蕉| 激情文学 综合 色| 五月天精品视频| 六月婷色| 亚洲婷婷五月天| 丁香狠狠色婷婷久久无码视频| 激情婷婷五月亚洲| 婷婷丁香五月激情| 色色婷婷五月天| 五月天激情综合| 一本到不卡高清DVD| 精品一二三区视频立| 91久久五月天| 国产色网站| www.色五月.com| 91在线就要啪| 99热这里只是精品| 超碰操日| 五月婷婷六月少妇激情| 五月深情久久| 天天婷婷| 色色色色区| 丁香六月久| 激情5月婷婷| 色的色综合| 久久久久9999| 精品九九久久| 色婷婷亚洲精品天天综| 99在线视频女女视频| 青青草激情网| 色婷婷女优有码五月亭| 国产成人亚洲综合A∨婷婷| 五月丁香婷婷色播无码| 综合久久99| 在线亚洲综合网| 性生活久久朋友人妻| 婷婷色色亚洲| 国产婷婷五月色情综合| cao久久| 5五月综合网亚洲| 国产4P视频精品五区| 婷婷射丁香| 色婷婷人人| 色色性爱视频| 99ri国产在线| 五月激情在线| 婷婷丁香激情| 婷婷丁香91| 六月丁香婷婷综合狠狠爱夜夜爱| 91人人爽狠狠狠| 婷婷精品| 婷婷夜夜夜夜| av免费在线网站| 成人五月天丁香婷| 五月天婷a在线| 69精品人人人人人人人人人| 激情小说视频图片网| 啪啪五月综合| 天天日天天爽| 婷婷丁香五月亚洲综合网在线视频观看| 婷婷性爱五月天丁香网| 伊人久久大香线蕉av最新| 天天激情5月天亚洲| 26uuu国产| 天天成人综合视频| 97碰碰视频| 中文AV网| 亚洲色模骚货| 婷婷综合久久| 丁香操逼| www.国产色| 九九爱看亚洲| 91黄址| 欧美丰满熟妇BBB久久久| 五月丁香无码视频| 91碰碰| 五月婷婷丁香91| 特级西西4444www无码| 在线成人网站| 久久99网| 五月丁香大香蕉| 涩五月色婷婷| 26UUU一区二区| 亚洲狠狠爱婷婷| 狠狠色噜噜狠狠| 婷婷 久综合| 91碰碰碰久久久久| 思思99热| www.99热在线| 丁香激情六月天婷婷| 91九色 婷婷| 久久久天堂国产精品女人| 久久人妻久久| 天天上天天爽| 99久在线精品| 欧美高潮9| 激情五月天影院| 五月天成人在线播放丁香| 婷婷五月天堂| 激情啪啪五月天| 99精品在线观看| 五月婷婷激情| http://www.sd-xiangsu.com/| 99热只有精品综合| 99热资源在线| 婷婷五月天丁香综合网| 八戒青柠影视剧在线观看| 97五月天| 99久久性爱| 五月婷婷天天色| 91网站黄| 婷婷中文字幕在线| 色五月色综合| 五月婷婷六月色| AV成人在线播放| 99成人无码| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 五月天婷婷高清无码| 99免费视频久久| 一本色道久久综合狠狠躁小说| 99精品偷自拍| 国产毛片精品一区二区色欲黄A片| 午夜丁香综合婷婷| 日韩啊啊啊| 中文不卡一二区| 爱之国产色情综合| 思思久久网| aaa久久| 99玖玖视频| av一级棒av| 色婷婷狠狠18禁| 天天色图| 久久在这里99| 成人婷99最新| 婷婷综合色图| 97视频91| 色玖玖综合网| 在线色色| 丁香六月综合激情| 五月丁香啪啪啪综合网| 99色综合网| 色婷婷五月综合在线| 婷婷激情小说| 激情五月久久| 久久婷婷丁香| 丁香六月婷婷开心| 青草激情综合| 天天爽天天干| 五月天综合| 97色色视频| 91精品综合久久久久久五月丁香| 九九99精品视频在线观看| 五月婷婷天堂| 婷婷五月天丁香花| 九九色逼| 亚洲精品V天堂中文字幕| 欧美激情性做爰免费视频| 99色在线| 国产又爽又猛又粗的视频A片| 开心五月深爱五月| 不卡在线视频| 五月激情婷婷四射| 九月婷婷激情| 另类在线| 婷婷综合五月激情| 五月丁香花激情综合网| 欧美黄色韩日网| 色色色热热热| 婷婷天堂综合| 少妇AB又爽又紧无码网站| 国产精品久久久久久久久久| 婷婷五月天综合久久日美女| 五月丁香成年黄色| av九九| 五月天色播网| 常久最新免费的色吊丝| 丁香六月婷婷| 色播五月| 99色人| 激情av网| 91操操| 我爱宗和色| 可以免费看AV网站| WWW.99视频| 婷婷五月天电影网| 婷婷丁香18| 亚洲色婷婷久久99精品91| 欧美三级黄色片久久| 成片免费观看视频大全| 五月天色婷婷图片| 丁香六月婷婷久久综合| 91啪啪| 日本熟女啪啪| 亚洲激情网| 青青五月天婷婷| 日韩无码色色| 国产精品色色| 丁香五月久久社区| 99热99成人| 五月婷婷自拍视频| 亚洲五月婷婷| 免费在线观看av网站| 久久草中文日韩欧美| 99这里只有免费的精品| 99视频在线精品| 六月激情综合| 狠狠色九月| 天天干,天天舔| 99热99干| 午夜色婷婷| 99久热在线精品99re6热| 色婷婷九月| 五月丁香婷婷激情澎湃四射| 九九热视频精品| 182无码| 婷婷综合五月| 丁香五月天AV| 国产精品99久久久久久久女警| 亚州激情九月| 五月丁香久久综合精品| 粉嫩av懂色av蜜臀av熟妇| .青娱乐天天操B| 成人av在线电影| 亚洲色综久久五月| 五月天婷婷久久| 99热在线看| 亚洲激情五月婷婷日日| 91狠狠色| 一区三区视频有限公司| 五月婷六月天| 九九综合色| 91人碰| 日韩久久这里只有精品| 俺去也综合| 亚洲XX网| 99精色| 超PEN精品在线| 天天久久人人| 色玖玖综合网| 在线99精品| 一区二区三区四区无码| 人人操AV| 婷婷五月黄色激情在线| 五月丁香福利| 婷婷色五月开心五月| 99热在线观看亚洲区| 五月婷丁香| 特黄三级片| 色五月 五月婷婷| 久久密臀婷婷| 天天影视色综合网| 人妻丰满精品一区二区A片| 色区久久| 亚洲成人综合在线| 丁香伊人网| 天天拍天天操| 亚洲国产网站| 综合五月网| 区欧美日韩成人| 久久久婷丁香五月| 99热国品| 天天操夜夜夜拍拍拍| 婷婷五月在线观看| 五月丁香综合啪啪啪啪啪| www.99久| 操操碰| 91爱操| 男人天堂99| 综合一区二区三区| 久久婷婷婷| 成人av在线网址| 色爱99| 九九性爱网| 亚洲色综久久五月| 色色狼人综合| 激情九月婷婷| 婷婷激情图片| 五月天 综合 在线| 丰满少妇猛烈A片免费看观看| 婷婷成人综合免费视频| 亚洲最大成人综合网720P| 亚洲 在线 性爱 | 激情五月www| 日本91在线播放| 久久性爰视频这里只有精品| 一起操最新网址| 99久久性爱| 国产婷婷五月| 色呦呦美女| 人人操日| 色啪网| 色色日韩无码| 久热99久热| 五月天婷婷丁香基地在线观看| 五月停停色| 色综合com| 色色色777| 三级片AAA久久久AAA久久久AAA| 亚洲色vA| 丁香久月| 五月婷婷啪啪| 1995年关宝慧版蜘蛛女| 伊人9草在线观看| 婷婷97碰碰| 天天噜天天插| 丁香五月婷婷av影院| 亚洲这里只有精品| 综合色图区| 99re热视频这里只精品| 色五月婷婷亚洲| 人妻精品在线| 欧美成人AAA片一区国产精品| 色五狠狠| 乱码操操| 99精品丁香五月| 六月丁香激情| 五月天开心激情网色欲无码| 五月天婷婷激情六月久久 | 丁香六月在线| 久久精品66| 九九热99视频在线| 国产精品日本一区二区在线播放 | 欧美日本国产欧美日本韩国99| 五月丁香A片| 国产精品成av人在线视午夜片| 亚洲精品在线视频| \\五月天婷婷激情| 色五月大| 丰满少妇猛烈A片免费看观看| 色五月天成人| 思思久久精品视频| 九九99热久久精品66中文字幕| 九色婷婷| 免费视频无码| 五月丁香六月色婷婷| 久久婷婷久久| 性爱激情五月| 九九免费视频| 无码任你操| 激情综合5月| 色噜久| BBWCUCKOLD精品熟妇| 亚洲秘 无码一区二区三区妃光/1| 六月婷婷狠狠| 香蕉久久六月| 五月天另类小说久久小说网| 天天色天天| 来吧亚洲综合网| 亚洲色婷婷99一9|| 午夜成人AV在线| 超碰在线资源| 亚洲精品无码一区二区| 五月婷婷天堂| 日日综合网| 丁香六月天婷婷色| 成人精品在线观看| 丁香视频| 久草五月丁香婷婷综合| 日本欧美成人片AAAA| 婷婷五月丁香久久| 久久丁香五月天| 色色婷婷综合网| 天天玩天天摸| 激情黄色小说色五月| www.com在线操视频免费观看| 天天天天操| 任你艹| 五月天婷婷色色网| 日婷婷久久开心| 日本噜噜色网| 狠狠擼综合| 中文字幕丰满乱孑伦无码专区 | 伊人爱爱日本| 久久人妻熟女一区二区| 五月婷婷色| 五月婷婷无码| 色久女| 2020日日干| 六月激情久久| 激情五月天婷婷丁香| 久久人妻在线| 性色99| 天天成人综合视频| 这里只有精品在线播放| 天天日天天摸天天| 亚洲婷婷月丁香五月| 9er热在线精品视频| 成人电影一区| 国产激情综合| 亚洲五月婷婷| 久久综合99| 婷婷激情综合| 一本久道综合色婷婷五月| 亚洲AV网址| 久久99久久99精品免观看粉| 色七七九九| 日本啪啪网| 成人国产综合| 深夜男女福利刺激影院一区| 婷婷色中文字幕| 久久综合九九| 梁铮版《蜘蛛女侠》在线| 亚洲五月天第一综合干| 久久这里只有精品07 | 婷婷久久精品| 九九热视频99| 玖热精品综合视频| 天天搞夜夜六| 婷婷五月天伊人网在线观看视频| 校园激情 亚洲| www.色擼擼.com| 丁香六月激情国产| 99热综合色图| 99精品在线播放| 日本九九九九| 日韩专区五月天婷婷丁香| 日韩野外 无套| 久久伊人婷| 另类精品视频在线观看| 国产伦理精品高清在线观看网站一区二区| 天天综合久久| 婷婷五月天激情视频| 激情六月一二| 啪啪操超碰| 热久久99热欧美国产亚洲| 性爱视频久久| 噢美99| 亚洲综合一区二区| 色噜噜狠狠色综合AV兰草影视| 日日日日做夜夜夜夜无码| 五月婷婷免费在线观看| 人人摸人人摸| 99ri精品| 99免费超碰在线| 欧美色偷偷大香| 五月丁香激情怕怕| 国产日韩欧美性生活| 色射婷婷五月天| 五日激情综合| 成人午夜无码视频| 岛囯综合激情网| 丁香五月影视| 九九亚洲小视频| 99精品网| 丁香六月天| 热99一二三| 亚州精品色情无码A片| 婷婷丁香亚洲五月天| 五月天成人在线播放| 午夜色婷婷| av电影在线播放| 色婷婷五月天中文字幕| 天天精品视频在线观看视频| www.色综合.com| 中文字幕无码人妻少妇免费视频| 九九九九中文字幕| 五月婷婷开心亚洲无| 色情五月停停丁香| 色婷婷电影网| 色综合色婷色基地| 丁香五月婷婷姐| 久久免费精彩视频| 97在线观视频免费观看| 久久婷婷人人| 五月综合亚洲婷婷| 日本超碰在线| 婷婷丁香五月视频| 国产片天天爽夜夜爽| 激情五月天伊人影院| 亚洲综合色色色| 9久热视频| 激情小说五月丁香在线视频观看视频| 激情六月综合| 最近中文字幕大全免费版在线| 91嫩草久久| 伦99热| 五月天综合婷婷| 丁香青青五月天| 天天草婷婷五月| 色狠狠综合网| 丁香五月婷婷久久久| 夜夜躁狠狠 | 婷婷久久综合| 五月婷婷婷综合网| 成人性爱无码| 国产真实乱了老女人视频| 色综合久久综合中文综合网| 婷婷噜噜| 九九九九操逼| 六月五月丁香五月欧美| 人人综合久| wwww.色婷婷| 五月婷A V在线| 99久久婷婷国产综合精品青桔| 丁香五月六月综合激情| 婷婷丁香91综合| WWW、日本色丁香co m| 97操碰视频| 五月婷婷亚洲色图| 狠色狠色综合久久| 无码人妻AV久久久一区二区三区 | 五月天欧美 另类小说| 97av在线视频| 99热精品观看| 婷婷五月天亚洲五码| 久久性都花花世界成人免费视频| 九九免费视频在线| 欧美黄色AA片哗啦啦啦| 色狠狠999综合| 五月丁香六月激情在线| 99婷婷综合| 亚洲乱码成人| 久久精品国产AV一区二区三区 | 五月丁香久久网| 婷婷五月天精品| 99日本黄站| 爆乳熟妇一区二区三区爆乳| 欧美日韩五月婷婷| 色综合久久五月天| 五月丁香中文婷婷中文| 欧美国产一区二区三区| 五月婷婷久久网| 99九九精品视频| 任你搞免费视频观看| 另类小说五月天激情| 欧美性生交XXXXX无码小说| 亚洲色五月天是什么| 婷婷五月在线视频| 狠狠另类视频| 少妇性BBB搡BBB爽爽爽视頻| 午夜不卡成人一区二区| 天天视频精品9| 丁香五月天在线观看| 九九99免费理论| 精品久久久999| 99热碰碰热| 九色视频91疯狂| 99人妻碰碰碰久久久久禁片| 丁香婷婷黄网站| 久久亚洲婷婷| 久久天天天| 99热色精品| 五月色 亚洲| 91丁香色| 99re这里只有精品视频了| 五月色激情综合网| 五月婷婷草| 免费亚洲婷婷中文字幕| 久久精品人妻| 先锋男人99资源| 97超级碰人人| 五月婷婷啪啪| 九九久久五月天| 99色婷婷| www.俺去也com| 婷婷人妻激情| 丁香五月91| 婷婷色五月婷婷姐妹| 777精品久无码人妻蜜桃| 天天综合网亚洲综合网| 五月伊人婷婷999| 99热老司机| 干亚洲天堂| 婷婷碰碰| 五月天色色婷婷| www.xtbsty.cn.com蜜乳AV| 亚洲亚洲人成综合网络| 久久黄色片| 色色五月天网站| 这里只有精品视频在线| A久网| 激情亚洲婷婷| 九九在线精品| 岛国AV网| 综合网色| 婷婷五月五月丁香| 久久人人九| 99激情视频热| 婷婷干六月综合旧址| 玖玖婷婷五月天| 天天色,天天操,天天射| 大香AV| 超碰人妻在线| 开心婷婷五月天激情网| 综合网色| 97成人操| 五月婷在线| AV79| 天天爽在线视频| 99久久婷婷国产综合精品电影| 婷婷少妇激情| 日日爽日日操| 久久综合色情网站| 97色色网| 天天插天天插| 一二三区视频韩国| 丁香六月婷| 双性美人被调教到喷水A片| 免费视频无码| 黄色99网| 99噜噜| 五月婷视频| 99久久网站| 久久婷婷五月综合伊人| 久久天天天| 国产亚洲色婷婷久久99精品9j| 色情成人五月天| www.婷婷五月天.com| 欧美精品久久久久久视频观看| 色色色9 9 9| 99热久久这里只有精品| 9久热免费视频99| 色五月色五天色情网| www.99在线| 婷婷激情啪啪| 成人美女网| 人人操99| 丁香色婷婷| 婷婷五月天影视| 久久色婷婷| 五月婷婷黄色毛片| 超pen个人视频97| 婷婷久久综合| 天天噜| 免费播放99性爱视频| 丁香婷婷精品视频| 丁香狠狠色婷婷| 99精品综合在线| 欧类av怡春院| 五月天另类小说| 开心深爱激情网| 天天透天天摸天天舔| 激情婷婷五月亚洲| 伊人激情综合网| www综合久久| 色九九中文字幕| 亚洲精品久久久久AV无码| 久99| 区美毛片子| 色色AV色色色东莞| 婷婷伊人五月| 激情网第四色| 精品色情一区二区三区四区| 婷婷伊人久久| 日韩精品一区二区亚洲AV观看| 国产综合A片| 五月婷婷丁香91| 性无码专区无码| www.天天干| 九九色色| 91成人品| 久久停停超碰| 色综合天堂| 大天天伊人| 性综合网| 噜噜国产| 夜夜夜夜夜骑撸| 亚洲色无码| 色婷婷综合网站| 91在线人| 99热97美女| 在线色婷婷| 久久五月婷天天干| 久草热8精品视频在线观看| 99精品偷自拍| 伊人在线视频| 99热久久这里只有精品| 怡红院AV亚洲一区二区三区H| 婷婷综合激情| 婷婷久草| 99国产精品久久久久久久久久久| CHINESE熟女老女人HD视频| 激情综合网激情五月天| 激情五月婷婷| 日日夜夜狠狠| 欧美黑人巨大性生话| 少妇人妻偷人精品无码视频新浪| 公的粗大挺进了我的密道| 精品无码久久久久久久久| 嫩草AV久久伊人妇女超级A| 国产又黄又爽又色的免费| 丁香五月花| 青青草大香| 久久日本wwww色| 日韩五月婷婷| 精品99在线看| 丁香五月性爱| 九九爱这里只有精品| 深爱五月中文字幕| 日本va欧美va欧美| 综合五月丁香六月婷婷| 亚洲激情另类| 99操碰| 色色色网站| 久久五月婷综合| 亚洲热久| 成人在线网| 琪琪理论片| 天天擼久久擼在线| 色色色色综合| 激情综合无码| 公的粗大挺进了我的密道| 五月天丁香婷婷久久九| 99热99思午夜精品| 日韩一级A片黄色| 狠狠夜夜五月丁香| www一区二区三区| 无码色| 99爱在线视频| 五月丁香久久久| 欧美超碰人人| 99激情网| 丁香五月天成人| 香蕉人在线香蕉人在线 | 婷婷丁香色五月| 成人无码髙潮喷水A片| 超碰京东热av男人的天堂| 亚洲另类婷婷综合| 五月在在观看| 开心五月婷婷婷美女| 久久婷婷五月天| 激情操逼婷婷| 天堂爱啪啪| 亚州欧美国产久精国产99综合视频| 色性五月天| 欧美 日韩 成人 在线| 97精品人人A片免费看| av电影在线播放| 操人无码| 色综合色综合网| 色五月色五天色情网| 中文字幕乱码亚洲精品一区| 成人资源在线| 26uuu色噜噜精品一区| 激情五月色播五月| 99热这里只有精品在线观看| 丁香五月天91| 六月丁香婷| 天堂草在线观| 五月丁香色情| 五月停视频天堂| 色婷婷亚洲婷婷| 午夜婷婷六月天| 亚洲第一第二网站| 中文字幕高清av| 色色综合无码| 婷婷五月天天天| 一点色成人网| 99久久精品色老| 丁香五月av在线| 99热精品在线观看| 九九九九中文字幕| 99精品视频在线6| 99在线视频免费| 青青草伊人婷婷| 99re6热在线精品视频播放速度 | 台湾无码A片一区二区| 亚洲婷婷丁香五月视频| 99热婷婷| 五月丁香视频色色| 日韩激情人伦人| 日本三级中国三级99人妇网站| 亚洲日比视频| 色色成人網| 日本美女上人| 天天视频精品9| 五月激情婷婷六月丁香| 最新色色五月天| 婷婷伊人綜合中文| 久久午夜理论| 激情综合一| 激情五月天啪啪| 婷婷五月丁香伊人| 风流少妇A片一区二区蜜桃| 成人短视频在线| 99热这里只有精品在线观看| 超碰在线观看三级片| 狠狠操之狠狠操| 亚洲综合1024| 亚洲精品成人片在线播| 久久精品66| 日韩成人无码| 五月花综合网| 丁香五月天激情| 久久久婷| 欧美精品XXXXBBBB| 日本精品99| 色停停五月,在线观看| 色九四色| xxx综合在线| 婷婷五月天激情四射| 五月婷婷综合激情| 九九热中文| 男女免费视频999| 久久久这里有精品| 91免费试看| 激情网综合| 丁香五月之久操视频| 夜夜噜夜夜奇| 国产99久久久国产精品免费看| 全亚洲最大的婷婷五月天网站COM| 色婷婷五月在线| 亚洲五月激情| 丁香五月天婷婷中文字幕| 丁香五月婷婷欧美成人色图| 天天五月情| 激情五月最新网址| 99热国产在线| 久久综合55| 女人天堂 AV| 91免费试看| 人妻久久久久久久久久久| 五月天婷婷网站| 这里只有精品2| 亚洲婷婷综合视频| 丁香婷婷噜噜| 新激情综合| 人人爱人人草| 九九大香蕉黄色影院| 超级碰碰碰97免费| 中文字幕人妻在线| 日韩九区| 久去色色| 专区无日本视频高清8| 很操日本7| 97日本操| 日韩AAAAA| 91日视频| 亚洲第一第二网站| 五月网激情| 日本人妻伦在线中文字幕| 六月婷婷网站| 五月丁香婷婷激情爱爱| 久久99网| 大香蕉婷婷五月天| 色婷婷香蕉| 欧洲激情五月天| 99久热视频在线| 五月激情综合美女久久| 五月丁香久久丝袜啪啪| 综合网啪啪| 亚洲激情亚洲激情| 青青久在线视频免费观看| 狠色狠色综合久久| 亚洲成Av人片乱码色第1集| 五月天社区婷婷丁香社区| 中文字幕成人| 精品一二三区久久AAA片| 战争与艾拉电影免费观看| 91精品丝袜久久久久久久久粉嫩| 日本三久久| 五月丁香色色综合| 8050一级网| 亚洲婷婷五月| 韩日在线熟女| 久久久高清| 丁香五月AV| 婷婷久久婷婷色五月| 99精日本久久| 色婷天天| 亚洲色色爱| 五月天丁香花婷婷| 综合色五月天| 丁香伊人激情| 碰碰碰91| 激情深爱五月天| 夜夜爽天天日| 亚洲第一成人无码A片| 国产69久久久欧美黑人A片 | 色综合伊人网| 久鲁鲁色网| 九月性爱网| 亚洲国产成人综合| 超碰AAAAAAV| 大香蕉人在线65| 第九色区av天堂| 精品人妻一区| 亚州激情在线视频| 日韩 mm 不卡| 色99视频| 九九热视频这里只有精品| WWW色综合| 色九综合| 久久99国产综合精品免费| 人人摸人人澡人人| 伊人超碰| 网色99|