亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

直播數(shù)據(jù)全站爬?。簭膯螜C(jī)腳本到分布式采集的工程實(shí)踐

直播數(shù)據(jù)全站爬?。簭膯螜C(jī)腳本到分布式采集的工程實(shí)踐 做直播數(shù)據(jù)采集這段時(shí)間最容易被一句話帶偏的就是“全站爬取”這個(gè)詞。很多人以為把某魚直播首頁(yè)上的直播間循環(huán)請(qǐng)求一遍就算全站了可真正開始跑才發(fā)現(xiàn)直播平臺(tái)的數(shù)據(jù)不是一個(gè)靜態(tài)頁(yè)面而是由狀態(tài)快照、實(shí)時(shí)彈幕、禮物榜單和主播信息組合起來的動(dòng)態(tài)系統(tǒng)。標(biāo)題里藏著兩個(gè)難點(diǎn)站點(diǎn)級(jí)覆蓋和近實(shí)時(shí)增量。這篇文章記錄了我在某魚直播數(shù)據(jù)全站爬取這個(gè)方向上從單機(jī)腳本一路調(diào)整到分布式采集的完整過程包括數(shù)據(jù)模型怎么拆、任務(wù)怎么調(diào)度、存儲(chǔ)怎么選以及最后為什么必須在合規(guī)邊界上踩剎車。想拿這套思路去搭直播數(shù)據(jù)倉(cāng)庫(kù)的或者正在糾結(jié)“為什么自己的采集腳本跑兩天就廢了”的人應(yīng)該能從里面找到答案。1. 拆解數(shù)據(jù)模型全站爬取到底要拿到哪幾類數(shù)據(jù)1.1 直播間狀態(tài)是爬蟲的“地面部隊(duì)”全站爬取的第一步不是去找彈幕接口而是把直播間的狀態(tài)數(shù)據(jù)鋪開。一個(gè)直播間在一段時(shí)間內(nèi)是什么狀態(tài)屬于哪個(gè)分類標(biāo)題變沒變這些數(shù)據(jù)構(gòu)成了整個(gè)分析體系的地基。我習(xí)慣把狀態(tài)數(shù)據(jù)分成三層來收集。第一層是房間元信息包括房間 ID、主播稱號(hào)、房間標(biāo)題、所屬分區(qū)。第二層是動(dòng)態(tài)狀態(tài)也就是當(dāng)前是否開播、開播時(shí)長(zhǎng)、當(dāng)前熱度、在線人數(shù)、封面圖版本。第三層是歷史狀態(tài)比如開播時(shí)間點(diǎn)、下播時(shí)間點(diǎn)、今日直播時(shí)長(zhǎng)累計(jì)。這三層數(shù)據(jù)出現(xiàn)的頻率完全不一樣采集難度也完全不一樣不能放在同一個(gè)更新周期里處理。實(shí)際操作里房間元信息相對(duì)穩(wěn)定變化粒度是小時(shí)級(jí)甚至天級(jí)。動(dòng)態(tài)狀態(tài)變化非常快熱度可能幾秒鐘就跳動(dòng)一次開播下播更是在任何時(shí)間都可能發(fā)生。歷史狀態(tài)通常需要自己根據(jù)動(dòng)態(tài)狀態(tài)的記錄去推導(dǎo)平臺(tái)很少直接給你一個(gè)“昨日直播時(shí)長(zhǎng)”的字段更多時(shí)候你得把快照序列拉出來自己算。如果把全站爬取理解成維護(hù)一張巨大的“房間在線狀態(tài)表”那這張表的行數(shù)是全站房間數(shù)列數(shù)就是上面的那些狀態(tài)字段。真正考驗(yàn)工程能力的是這張表的更新策略全量重建一次的成本有多高增量更新的延遲能不能壓到分鐘級(jí)。1.2 熱度與在線人數(shù)是一種特殊的時(shí)間序列熱度值和在線人數(shù)在語(yǔ)義上很容易混淆但在數(shù)據(jù)采集上必須分開處理。熱度通常是平臺(tái)自己定義的一個(gè)綜合指標(biāo)由禮物、彈幕、觀看時(shí)長(zhǎng)、互動(dòng)頻次等因子加權(quán)計(jì)算出來在線人數(shù)則更接近真實(shí)的同時(shí)觀看人數(shù)。兩個(gè)字段的更新頻率不一樣量級(jí)也可能差很遠(yuǎn)混在一個(gè)字段里會(huì)污染后續(xù)所有分析。我踩過的一個(gè)典型坑是把“熱度”當(dāng)“在線人數(shù)”存又用同一個(gè)采集頻率去抓。結(jié)果熱度值在晚高峰的波動(dòng)幅度大得離譜而在線人數(shù)反而平穩(wěn)最后畫出來的曲線像兩個(gè)完全不同的東西。解決辦法也很簡(jiǎn)單在建表時(shí)把兩個(gè)字段拆開記錄各自的采集間隔并且在數(shù)據(jù)字典里注明來源字段名。時(shí)間序列數(shù)據(jù)還有另一個(gè)副作用就是數(shù)據(jù)量增長(zhǎng)非??臁<僭O(shè)全站有幾十萬(wàn)個(gè)直播間每 30 秒采一次快照一天下來就是幾億行。這個(gè)量級(jí)如果用普通關(guān)系型數(shù)據(jù)庫(kù)硬扛寫入會(huì)成為瓶頸查詢也會(huì)越來越慢。所以熱度類的數(shù)據(jù)從一開始就應(yīng)該考慮列式存儲(chǔ)或者壓縮策略更友好的方案后面第 4 節(jié)我會(huì)詳細(xì)說存儲(chǔ)選型。1.3 彈幕與禮物事件信息密度最高也最難處理彈幕和禮物都是事件類型的數(shù)據(jù)它們的共同特點(diǎn)是“只在發(fā)生的那一刻有價(jià)值”。禮物記錄還能通過貢獻(xiàn)榜、熱門禮物榜間接拿到歷史片段彈幕幾乎只能靠實(shí)時(shí)訂閱。全站爬取彈幕的難點(diǎn)不在于拿到一條彈幕而在于同時(shí)維持大量直播間的長(zhǎng)連接并且保證斷線重連時(shí)不丟窗口。禮物數(shù)據(jù)的采集又有自己的問題。進(jìn)入一個(gè)直播間時(shí)頁(yè)面上通常只會(huì)展示最近一段時(shí)間的貢獻(xiàn)榜超過窗口期的記錄就再也看不到了。這意味著禮物數(shù)據(jù)不能靠事后補(bǔ)采必須在榜單滾動(dòng)更新期間頻繁輪詢把每次看到的榜單位保存下來再做增量對(duì)比才能還原出一個(gè)接近完整的禮物流。彈幕內(nèi)容本身還有一個(gè)非常敏感的屬性它會(huì)攜帶用戶的發(fā)言內(nèi)容和用戶名有可能是個(gè)人信息。所以我現(xiàn)在的做法是要么只統(tǒng)計(jì)彈幕條數(shù)和互動(dòng)密度不落庫(kù)具體內(nèi)容要么在落庫(kù)之前強(qiáng)制脫敏把用戶名、頭像、IP 這類能識(shí)別到個(gè)人的字段全部去掉。這個(gè)習(xí)慣一開始就要養(yǎng)成因?yàn)閿?shù)據(jù)一旦進(jìn)了倉(cāng)庫(kù)再想起來處理就晚了。2. 采集路徑掃列表、輪狀態(tài)、聽事件三條路同時(shí)走2.1 全站爬取不是“一個(gè)抓取循環(huán)”能搞定的很多初學(xué)者寫爬蟲習(xí)慣用一個(gè)循環(huán)去做所有事情請(qǐng)求 URL、解析 HTML、存結(jié)果然后再請(qǐng)求下一個(gè) URL。這套邏輯對(duì)靜態(tài)門戶站夠用但對(duì)直播平臺(tái)完全行不通。直播數(shù)據(jù)是分層變化的有的信息要掃描有的信息要輪詢有的信息要實(shí)時(shí)監(jiān)聽三種模式的作用域和請(qǐng)求頻次完全不同。掃描模式用于發(fā)現(xiàn)新直播間和更新房間元信息。典型入口是平臺(tái)主頁(yè)的分區(qū)列表進(jìn)入每個(gè)分區(qū)后繼續(xù)翻頁(yè)拿到主播房間列表。這個(gè)模式的請(qǐng)求頻率可以很低比如每 5 到 10 分鐘跑一遍因?yàn)樾麻_播不會(huì)頻繁得離譜。輪詢模式用于熱度、在線人數(shù)、榜單類數(shù)據(jù)頻率要分業(yè)務(wù)場(chǎng)景定。監(jiān)聽模式用于彈幕和禮物事件走的是長(zhǎng)連接或者消息通道不能像 HTTP 請(qǐng)求一樣隨意控制頻率。如果非要用一句話總結(jié)全站爬取 低頻掃描房間列表 中頻輪詢狀態(tài)快照 高頻監(jiān)聽事件通道三個(gè)子系統(tǒng)之間通過“房間 ID”這個(gè)主鍵串聯(lián)起來。誰(shuí)要是把三種數(shù)據(jù)都放進(jìn)同一個(gè)循環(huán)里最后不是漏數(shù)據(jù)就是把接口打爆。2.2 一個(gè)可落地的混合采集偽代碼下面這個(gè)偽代碼并不代表某個(gè)平臺(tái)的具體接口而是說明三種模式在工程上應(yīng)該怎么組合。我習(xí)慣用異步客戶端統(tǒng)一處理 HTTP 部分再用一個(gè)簡(jiǎn)單的任務(wù)函數(shù)把不同采集頻率封裝起來。import asyncio import httpx import time async def scan_room_list(client, category_id): # 掃描模式低頻用于發(fā)現(xiàn)房間 rooms [] for page in range(1, 10): resp await client.get( fhttps://api.example.com/{category_id}/rooms?page{page} ) rooms.extend(resp.json().get(rooms, [])) await asyncio.sleep(0.5) return rooms async def poll_room_status(client, room_id): # 輪詢模式中頻用于更新快照 resp await client.get( fhttps://api.example.com/room/{room_id}/status ) return resp.json() async def listen_danmaku(room_id, callback): # 監(jiān)聽模式高頻用事件通道而不是 HTTP # 這里省略具體連接邏輯核心是收到消息后立刻回調(diào) pass async def main(): async with httpx.AsyncClient(timeout10) as client: categories [game, talk, music] all_rooms [] for cate in categories: all_rooms await scan_room_list(client, cate) for room in all_rooms: status await poll_room_status(client, room[room_id]) save_snapshot(status) await asyncio.sleep(1)這段代碼里我刻意把三個(gè)模式的函數(shù)分開不是為了好看而是為了讓后續(xù)擴(kuò)展更順。掃描模式發(fā)現(xiàn)新房間輪詢模式更新已有房間監(jiān)聽模式處理實(shí)時(shí)事件三者之間通過數(shù)據(jù)庫(kù)或者消息隊(duì)列解耦而不是在函數(shù)內(nèi)部互相調(diào)用。這樣后期如果某段邏輯掛了不會(huì)影響另外兩端。2.3 開播檢測(cè)到底什么時(shí)候去抓一個(gè)新房間全站爬取的時(shí)效性很大程度取決于“開播檢測(cè)”做得好不好。新直播間出現(xiàn)時(shí)如果沒有被及時(shí)加入采集隊(duì)列后續(xù)所有相關(guān)數(shù)據(jù)都會(huì)延遲。反過來如果掃描太頻繁又會(huì)對(duì)服務(wù)端造成無效壓力。我的做法是把開播檢測(cè)拆成兩級(jí)。第一級(jí)是全量低峰掃描比如凌晨 3 點(diǎn)到 6 點(diǎn)之間把所有分區(qū)完整跑一遍重建一次房間名單。第二級(jí)是增量高峰掃描白天用較短間隔輪詢熱度高的分區(qū)因?yàn)樾麻_播的主播往往會(huì)集中在活躍分區(qū)。兩級(jí)掃描的結(jié)果合并后才進(jìn)入正式的輪詢和監(jiān)聽隊(duì)列。這里有一個(gè)容易忽略的點(diǎn)房間 ID 不會(huì)復(fù)用但主播可以重新開播。所以判斷“要不要采集”時(shí)不能只看房間 ID 是否已經(jīng)存在還要看最近的直播記錄是否已經(jīng)結(jié)束。如果上次記錄顯示該房間下播超過 10 分鐘再出現(xiàn)狀態(tài)更新就要當(dāng)作一次新的直播會(huì)話來處理在數(shù)據(jù)上打一個(gè)新的會(huì)話 ID。3. 任務(wù)調(diào)度與增量更新從單機(jī)隊(duì)列到可控的分布式3.1 直接開幾十個(gè)線程亂跑是最容易翻車的做法很多人為了追全站速度第一反應(yīng)是“開線程池每個(gè)線程各抓各的”。我也干過這事兒結(jié)果是沒過多久就收到了一連串的風(fēng)控提示而且數(shù)據(jù)出現(xiàn)了大量重復(fù)。問題不在并發(fā)本身而在于這些線程沒有共享狀態(tài)根本不知道哪些房間已經(jīng)抓過、哪些接口正在被同一個(gè) IP 高頻調(diào)用。對(duì)機(jī)器來說一次請(qǐng)求發(fā)出去遠(yuǎn)比重試一次請(qǐng)求便宜。真正合理的調(diào)度不是讓所有任務(wù)并發(fā)執(zhí)行而是把所有任務(wù)放進(jìn)一個(gè)隊(duì)列由調(diào)度器統(tǒng)一控制出隊(duì)速率。單機(jī)場(chǎng)景可以用線程安全的隊(duì)列加一個(gè)簡(jiǎn)單的限速器分布式場(chǎng)景則要把隊(duì)列抽出來放到獨(dú)立的消息中間件里讓多個(gè) worker 從同一個(gè)源取任務(wù)。我最初在單機(jī)上用的方案其實(shí)很樸素把房間 ID 排成一個(gè)列表用一張狀態(tài)表記錄每個(gè)房間最近一次成功采集的時(shí)間然后每隔固定秒數(shù)檢查一次看看現(xiàn)在該抓哪些房間。這樣每個(gè)房間的輪詢周期相對(duì)穩(wěn)定不會(huì)出現(xiàn)“某個(gè)房間 1 秒抓了 10 次另一個(gè)房間一整天沒被抓過”的尷尬情況。3.2 調(diào)度隊(duì)列里不止有房間 ID還有“溫度”隊(duì)列里的任務(wù)如果只有一個(gè)房間 ID那么熱點(diǎn)房間和冷門房間會(huì)被同等對(duì)待這是很大的浪費(fèi)。熱度高的直播間需要高頻輪詢冷門直播間可能一天只需要確認(rèn)幾次狀態(tài)就可以了。所以我給每個(gè)任務(wù)加了一個(gè)“溫度”概念用最近幾次快照的熱度值來決定下一次采集間隔。舉個(gè)例子一個(gè)熱度過萬(wàn)的房間我可能每 20 秒輪詢一次熱度在一千到一萬(wàn)之間的房間每 60 秒輪詢一次熱度低于一千的冷門房間每 5 分鐘輪詢一次。這樣看起來像是一個(gè)動(dòng)態(tài)優(yōu)先級(jí)隊(duì)列高熱度任務(wù)優(yōu)先低熱度任務(wù)降頻。實(shí)現(xiàn)上并不復(fù)雜快照入庫(kù)時(shí)帶著熱度值調(diào)度器從數(shù)據(jù)庫(kù)里讀一下最近一次熱度就能算出下一次執(zhí)行時(shí)間。這種“溫度調(diào)度”還有一個(gè)額外的好處當(dāng)某個(gè)直播間因?yàn)闊衢T事件突然涌入大量觀眾時(shí)它的熱度上升采集頻率也會(huì)自動(dòng)跟著上升保證不遺漏關(guān)鍵時(shí)段的數(shù)據(jù)。等熱度回落頻率再降下來資源就自動(dòng)釋放給其他房間。3.3 調(diào)度器需要檢查點(diǎn)不怕中途掛掉就怕從頭再來任何長(zhǎng)期運(yùn)行的采集任務(wù)都一定會(huì)遇到進(jìn)程重啟、服務(wù)器斷電、網(wǎng)絡(luò)長(zhǎng)時(shí)間中斷的情況。如果調(diào)度器沒有檢查點(diǎn)機(jī)制重啟后要從頭掃一遍全站房間列表效率會(huì)非常低而且會(huì)給對(duì)方服務(wù)器造成無謂的重復(fù)壓力。檢查點(diǎn)的核心是把“已經(jīng)完成的任務(wù)狀態(tài)”持久化下來。我在單機(jī)版本里用了一張很小的表字段就三個(gè)任務(wù)類型、任務(wù) ID、最近完成時(shí)間。每次完成一個(gè)房間的狀態(tài)更新就更新這條記錄。重啟之后調(diào)度器先讀這張表凡是“最近完成時(shí)間”在合理范圍內(nèi)的房間都不用重新掃描直接從之前停留的位置繼續(xù)。這個(gè)方法聽著簡(jiǎn)單但真的能省掉大量無效請(qǐng)求。全站房間數(shù)量在幾十萬(wàn)這個(gè)量級(jí)時(shí)一次全量重建可能需要好幾個(gè)小時(shí)而有了檢查點(diǎn)中途哪怕掛掉十次每次重啟都只要幾分鐘就能回到正確的工作狀態(tài)長(zhǎng)期跑下來的效率差距非常明顯。4. 數(shù)據(jù)落地明細(xì)層與聚合層分倉(cāng)庫(kù)4.1 明細(xì)層保存“發(fā)生了什么”方便回溯直播數(shù)據(jù)采集完成后第一個(gè)存放地應(yīng)該是明細(xì)層也就是原始事件庫(kù)。這里的表結(jié)構(gòu)不能按業(yè)務(wù)報(bào)表來設(shè)計(jì)而應(yīng)該按“數(shù)據(jù)發(fā)生的語(yǔ)義”來設(shè)計(jì)。我常用的三張明細(xì)表是直播間狀態(tài)快照表、禮物榜單變化表、彈幕互動(dòng)統(tǒng)計(jì)表。狀態(tài)快照表的每一行代表“某個(gè)房間在某時(shí)刻的狀態(tài)”字段包括房間 ID、采集時(shí)間、開播狀態(tài)、分類、熱度、在線人數(shù)。禮物榜單變化表稍微特殊一些因?yàn)榘駟问亲儎?dòng)的我采用“每輪輪詢保存整個(gè)榜單排名”再加一個(gè)“榜單版本號(hào)”這樣能還原出禮物沖榜過程。彈幕互動(dòng)統(tǒng)計(jì)表的粒度可以壓到“房間 x 每分鐘彈幕條數(shù)”這種粒度既能支撐互動(dòng)趨勢(shì)分析又不會(huì)把原始文本全部落下來。明細(xì)層不要怕數(shù)據(jù)量大反而應(yīng)該怕數(shù)據(jù)被提前聚合。一旦你把原始快照聚合成小時(shí)級(jí)平均值后面再做精細(xì)化分析就沒有素材了。所以我始終堅(jiān)持明細(xì)表只做輕加工字段命名統(tǒng)一、時(shí)間字段固定為 UTC、把平臺(tái)返回的原始字段保存在一個(gè)備用列里其余盡量保持原樣。4.2 明細(xì)層建表的幾個(gè)硬要求通過實(shí)踐我總結(jié)了明細(xì)層建表時(shí)最需要注意的四個(gè)點(diǎn)缺一不可。第一必須有明確的唯一鍵。狀態(tài)快照表用room_id event_time唯一標(biāo)識(shí)一行禮物榜單表用room_id round_id rank這樣即使采集任務(wù)重復(fù)寫入數(shù)據(jù)庫(kù)時(shí)也可以靠唯一鍵去重。第二時(shí)間字段必須帶時(shí)區(qū)信息我統(tǒng)一存 UTC展示層再轉(zhuǎn)本地時(shí)間。第三盡量使用分區(qū)表按天或者按小時(shí)分區(qū)刪除過期數(shù)據(jù)時(shí)直接刪分區(qū)不用跑 DELETE 語(yǔ)句。第四原始響應(yīng)要留一份至少是 JSON 字段這樣解析出問題時(shí)還能回頭修數(shù)據(jù)。下面是一個(gè)簡(jiǎn)化但能直接用的快照表結(jié)構(gòu)CREATE TABLE room_snapshot ( room_id BIGINT NOT NULL, event_time DATETIME NOT NULL, is_living TINYINT NOT NULL DEFAULT 0, category VARCHAR(64) NOT NULL DEFAULT , hot_value BIGINT NOT NULL DEFAULT 0, online_count INT NOT NULL DEFAULT 0, title_hash CHAR(32) NOT NULL DEFAULT , raw_data JSON DEFAULT NULL, PRIMARY KEY (room_id, event_time) ) ENGINEInnoDB PARTITION BY RANGE (TO_DAYS(event_time)) (...);注意我為什么放了一個(gè)title_hash而不是直接放 title。標(biāo)題會(huì)反復(fù)變化直接把長(zhǎng)標(biāo)題放進(jìn)來既占空間又不好做比較所以我只存一個(gè)哈希值用來判斷標(biāo)題是否發(fā)生變化。真要分析標(biāo)題內(nèi)容時(shí)再單獨(dú)拉一份標(biāo)題變更日志不會(huì)污染主表。4.3 聚合層解決“查詢太慢”的問題明細(xì)表存了原始數(shù)據(jù)之后查詢端的噩夢(mèng)就開始了。一個(gè)簡(jiǎn)單的問題比如“昨晚熱度超過十萬(wàn)的房間有多少個(gè)”如果直接掃全表可能要把上億行翻一遍。所以必須有一層提前計(jì)算好的聚合表按業(yè)務(wù)常見維度做匯總。我常用的聚合粒度是“房間 x 分鐘”和“房間 x 小時(shí)”。分鐘級(jí)聚合表可以從快照表算出每分鐘的平均熱度、最大在線人數(shù)、彈幕條數(shù)小時(shí)級(jí)聚合表再對(duì)分鐘級(jí)做一次減采樣得到更長(zhǎng)時(shí)間的曲線。聚合任務(wù)用定時(shí)腳本在后臺(tái)跑每天凌晨把前一天的數(shù)據(jù)全部補(bǔ)齊。這里最關(guān)鍵的一點(diǎn)是聚合表不是替代明細(xì)表而是明細(xì)表的索引。查詢端先打聚合表發(fā)現(xiàn)粒度不夠再用明細(xì)表查原始事件。只要這層配合起來即使數(shù)據(jù)量到了十億行級(jí)別常見的 Top N、趨勢(shì)圖、會(huì)話時(shí)長(zhǎng)這類分析也能在秒級(jí)返回。5. 實(shí)際踩坑任務(wù)積壓、重復(fù)消費(fèi)和狀態(tài)漂移5.1 高峰期請(qǐng)求積壓隊(duì)列反榨了數(shù)據(jù)庫(kù)第一次跑全站采集時(shí)我以為只要隊(duì)列夠長(zhǎng)就沒事結(jié)果某個(gè)晚上熱門事件突然爆發(fā)直播間數(shù)量短時(shí)間翻了一倍所有 worker 都在拼命消費(fèi)寫入速度反而跟不上最后數(shù)據(jù)庫(kù)連接被耗盡整個(gè)任務(wù)站點(diǎn)直接卡死。問題的根子不在 worker 速度而在寫入能力有限。后來我加了兩個(gè)機(jī)制一是寫入端改成批量寫攢夠 100 條或者攢夠 1 秒再統(tǒng)一落庫(kù)吞吐量提高了一大截二是隊(duì)列增加反向壓力控制當(dāng)寫入端積壓超過閾值時(shí)調(diào)度器會(huì)自動(dòng)降低掃描頻率寧可少采一些臨時(shí)數(shù)據(jù)也不能把核心鏈路拖垮。流量高峰時(shí)最忌諱的是“全渠道火力全開”。現(xiàn)在我的做法是預(yù)設(shè)幾檔流量模式默認(rèn)模式、高峰模式、降級(jí)模式。高峰模式下只保留熱度靠前的房間高頻采集冷門房間直接降頻等高峰期結(jié)束再補(bǔ)采。這樣不會(huì)錯(cuò)過最有價(jià)值的頭部數(shù)據(jù)也不會(huì)讓整個(gè)系統(tǒng)沖垮。5.2 冪等寫入重復(fù)數(shù)據(jù)是怎么悄無聲息出現(xiàn)的全站爬取一定會(huì)遇到數(shù)據(jù)重復(fù)。原因很多輪詢和監(jiān)聽兩條鏈路可能同時(shí)采到同一個(gè)事件網(wǎng)絡(luò)超時(shí)導(dǎo)致客戶端重試但前一次請(qǐng)求實(shí)際已經(jīng)成功了消息隊(duì)列在消費(fèi)端重啟后重新投遞了未確認(rèn)的消息。任何一條鏈路出問題都會(huì)往庫(kù)里塞重復(fù)數(shù)據(jù)。如果表結(jié)構(gòu)從一開始就設(shè)計(jì)了唯一鍵重復(fù)寫入會(huì)被數(shù)據(jù)庫(kù)擋住但這還不夠因?yàn)樵趹?yīng)用層你可能要做多輪聚合重復(fù)數(shù)據(jù)還是會(huì)影響統(tǒng)計(jì)。真正的辦法是從源頭打冪等標(biāo)簽每個(gè)事件生成一個(gè)唯一的業(yè)務(wù) ID比如彈幕用平臺(tái)返回的消息序號(hào)狀態(tài)快照用room_id 采集時(shí)間戳禮物榜單用room_id 榜單版本號(hào)。一旦建立冪等鍵整個(gè)數(shù)據(jù)處理管道就有了約束。后續(xù)無論哪一環(huán)重復(fù)處理只要最終寫入時(shí)校驗(yàn)唯一鍵就不會(huì)把數(shù)據(jù)翻倍。這個(gè)設(shè)計(jì)雖然不起眼但省掉了我很多查重復(fù)的深夜時(shí)間。5.3 狀態(tài)漂移你以為下播了其實(shí)只是網(wǎng)絡(luò)抖動(dòng)直播狀態(tài)字段是最容易誤導(dǎo)人的。某個(gè)房間因?yàn)榫W(wǎng)絡(luò)波動(dòng)熱度突然暴跌到接近零如果采集端把這個(gè)快照當(dāng)作“已下播”入庫(kù)后面的直播時(shí)長(zhǎng)統(tǒng)計(jì)就全錯(cuò)了。這種問題叫狀態(tài)漂移典型的解決辦法是引入“確認(rèn)窗口”。我的經(jīng)驗(yàn)是一個(gè)房間要連續(xù) N 次快照都顯示下播狀態(tài)才真正標(biāo)記為下播。N 的大小取決于采集間隔通常 TTL 5 到 10 分鐘。同理開播狀態(tài)也需要連續(xù)確認(rèn)避免把瞬間的接口異常當(dāng)成開播。處理狀態(tài)漂移的關(guān)鍵是在入庫(kù)前過濾而不是入庫(kù)后再修正。入庫(kù)前過濾的好處是下游拿到的數(shù)據(jù)是干凈狀態(tài)不用每個(gè)人自己再去判斷。如果真要支持更精細(xì)的分析我建議在快照表上加一個(gè)session_id字段把連續(xù)的直播時(shí)段歸到同一個(gè)會(huì)話里后續(xù)計(jì)算時(shí)長(zhǎng)、場(chǎng)次的時(shí)候直接按會(huì)話分組就行。6. 邊界和底線爬之前必須想清楚的幾件事6.1 數(shù)據(jù)源授權(quán)是全站爬取的最大約束寫完上面這些工程細(xì)節(jié)我必須把話拉回到一個(gè)經(jīng)常被刻意回避的問題全站爬取的數(shù)據(jù)源授權(quán)邊界在哪。這個(gè)問題不是一句“抓公開信息沒問題”就能帶過去的。公開頁(yè)面上能看到的數(shù)據(jù)不等于你有權(quán)把這些數(shù)據(jù)全量搬運(yùn)、存儲(chǔ)、轉(zhuǎn)賣。我在任何采集項(xiàng)目啟動(dòng)前都要先做兩件事。第一看平臺(tái)服務(wù)條款和 robots 協(xié)議明確哪些路徑明令禁止自動(dòng)化訪問。如果平臺(tái)條款明確不允許批量采集那生產(chǎn)環(huán)境跑這種采集就存在違約風(fēng)險(xiǎn)能不做就不做。第二看數(shù)據(jù)屬性。涉及個(gè)人信息的字段比如昵稱、頭像、個(gè)人簽名能改成哈希值就改成哈希值能刪掉就別留。很多團(tuán)隊(duì)在初期只顧著追求數(shù)據(jù)量等用到數(shù)據(jù)時(shí)才發(fā)現(xiàn)字段里全是不可碰的內(nèi)容那時(shí)候再洗數(shù)據(jù)成本和風(fēng)險(xiǎn)都是災(zāi)難級(jí)的。我在自己的項(xiàng)目里采用“最小化采集”原則只要業(yè)務(wù)不需要彈幕原文就不采彈幕原文只要業(yè)務(wù)不需要禮物背后的用戶昵稱就不采用戶昵稱。少一個(gè)敏感字段就少一個(gè)默認(rèn)風(fēng)險(xiǎn)。6.2 脫敏存儲(chǔ)和留存周期要形成制度光說不存沒用采集系統(tǒng)要把脫敏規(guī)則和留存周期做成代碼的一部分。我在明細(xì)表的寫入鏈路里加了一道脫敏層所有從網(wǎng)絡(luò)響應(yīng)的字段都必須通過字段白名單校驗(yàn)不在白名單里的字段直接丟棄白名單里包含的敏感字段再經(jīng)過hash處理才允許入庫(kù)。留存周期問題同樣重要。直播熱度數(shù)據(jù)和分析結(jié)果通常并不需要永久保留。我一般給原始快照設(shè) 30 天的保留期超過 30 天的直接清分區(qū)聚合表保留 180 天只有長(zhǎng)期分析的統(tǒng)計(jì)結(jié)果才長(zhǎng)期保存。這樣既能控制存儲(chǔ)成本也減少了因?yàn)閿?shù)據(jù)長(zhǎng)期滯留而帶來的合規(guī)風(fēng)險(xiǎn)。6.3 灰度上線先小范圍驗(yàn)證再全站鋪開最后一個(gè)建議聽起來很“不極客”但在全站爬取里反而最保命先灰度。不要第一天就上全量任務(wù)而是先挑幾個(gè)分區(qū)、幾個(gè)典型房間跑一跑觀察請(qǐng)求成功率、數(shù)據(jù)完整度、延遲和風(fēng)控表現(xiàn)。灰度期通常我至少保留三天因?yàn)橹辈テ脚_(tái)的數(shù)據(jù)有很強(qiáng)的周內(nèi)周期性周一跑出來的情況周六晚上大概率會(huì)不一樣?;叶韧ㄟ^之后再逐步擴(kuò)大范圍。擴(kuò)大過程中要持續(xù)觀察兩個(gè)指標(biāo)一個(gè)是任務(wù)積壓量另一個(gè)是風(fēng)控觸發(fā)的頻率。一旦風(fēng)控觸發(fā)頻率明顯上升就要立刻回退采集頻次而不是硬沖。全站爬取的長(zhǎng)期運(yùn)營(yíng)拼的不是某一天抓了多少數(shù)據(jù)而是能不能穩(wěn)定地每天把數(shù)據(jù)完整地補(bǔ)回來?;仡^看我自己的實(shí)踐這個(gè)項(xiàng)目最后能穩(wěn)定跑下去靠的不是某一個(gè)聰明的算法而是把掃描、輪詢、監(jiān)聽三套模式拆開用一致的調(diào)度框架管住頻率用冪等鍵和狀態(tài)確認(rèn)擋住重復(fù)和漂移再在存儲(chǔ)層把明細(xì)和聚合分開。如果你也要做類似的事情我建議你先從一個(gè)小范圍開始把調(diào)度節(jié)奏調(diào)順了再談全站。多花點(diǎn)時(shí)間在設(shè)計(jì)數(shù)據(jù)邊界上后續(xù)踩坑的機(jī)會(huì)就會(huì)小很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91丨国产丨白浆秘 洗澡动漫| 99热aaa| 精品久久97| 99re6国产精品99re在线| 岛国毛片在线观看免费| 97香蕉网| 亚洲素人综合| 色九九九综合| 久久国产对白激情浪潮| 欧美aⅴ99久久黑人专区| 男人的天堂啪啪| 国产一级特黄大片处女| 国产精品第一区第一页| 性欧美91| 亚洲天堂少妇| 亚洲天堂久久| 色网综合网| 久久久久日本视| 精品成人av一区二区三区在线| 欧美一区二区三区不卡高清视频| 青娱乐休闲视频在线观看| 亚州九九九精品视频| 红桃视频高潮| 久久久9品一区二区三区| 97人妻色| 亚洲美女高潮喷水视频| 蜜臀一二三| 综合久欧洲| 不卡超碰护士AV在线免费播放| 看黄片视频免费| 香伊人在线| 日本操逼视频不卡直接放| 色婷婷一区二区三区久久| 精品二区久久| 91n欧美| 欧美少妇色图| 久久综合九色综合欧洲98| 色色热| 女人喷水视频在线观看| .精品人妻一区二区三| 97资源亚洲| 成人性交免费视屏| 亚洲欧美日韩免费观看| 欧美的性爱网站免费| 国产精品爱欲| 强奸乱伦中文字幕AV| 国产精品视频自拍在线| 美国aaaaa一级黄片| 夜夜影视四色| 啊啊啊啊啊啊好湿好爽视频| 亚洲精品乱码久久久久久蜜桃麻豆| 绑缚麻绳人妻寝取完整版| 清清一区二区三区四区不卡视频| 清纯唯美激情四射| caopeng97人妻| 日日夜夜免费| 日韩综合成人免费视频| 久久人人妻| 秋霞Av理论一级在线| 日韩一级二级在线| 亚洲天堂美臀在线| 中文字幕加勒比海高清无码免费视频 | 草草草视频在线免费看| 熟妇亚洲一区二区三区| 国产大陆天天艹| 超碰视97中文| 免费人人搞97| 9九九九九视频在线观看| 亚洲天堂 视频你懂的| 啊啊啊啊啊啊好湿好爽视频| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 成人AV在线网站| 天天爽天天干| 久热在线精品免费观看| 日韩精品亚洲一二三| 亚洲情色电影网| 日韩在线一区高清在线| 中日韩久久久免费看| 久久熟女人| blacked精品一区国产| 中日韓欧美高清| 福利大香蕉| 久久的网站啊啊啊啊啊| 日韩AV一区二区三区四四| 久久国产乱子伦精品免费女人| 91日韩网站| 智利AV在线网| 日本黄色裸日本黄色裸体| 国产欧美美女免费观看视频| 国产女乱淫真高清免费视频| 欧美人人曰人人操人人射射| 大香蕉十区| 欧美91在线+|+欧美| 97人人射| 女人久久久| 高清国产av无码| 色综合大香蕉| 欧美天天插| 福利风月五月天影院| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 懂色中文一区二区三区| 自拍偷拍国产欧美日韩韩| 哈哈操 大香蕉| 日日爽熟女| 九九久精品| 99re在线视频这里只有精品| 欧美色图在线视频少妇| 亚洲天堂 视频你懂的| 亚洲国内精品成人不卡| B049AV在线播放| 亚欧美综合| 超碰97男女| 中文字幕丰满人妻日本| 91啦人妻| 久久99人妖视频国产| 日本岛国黄色网址| 丁香婷婷大香蕉| 四虎AV无码| 日韩丝袜高跟制服在线观看| 香蕉国产97| 91无遮挡| 亚洲一二三四区机械| 青青草原香蕉日本Ap| 欧美影音在线| 亭亭在线资源| 欧美三级中文字幕hd| 78p欧美| 国产日逼视频| 亚洲熟女少妇免费视频| 欧美自拍网| 免费视频97| 999 久久久| 大色综合网| 日本欧美一区二区三区视频麻豆| 熟妇xxxxx性春色| 日韩欧美国产一区二区三区四区| 一区在线观看中文字幕| 欧美性区| 思思热一热婷婷热一热| 青青11操操操操操操操操| 日本午夜福利视频| 亚州,欧美在线| 97人人夜夜精品视频| 久久99操天天日| av2014 日韩在线中文字幕| 久久久性| 亚洲欧洲小说图片视频 | 78久久| www黄片免费看com| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日韩欧美一级特黄大片| 东方亚洲在线操逼天堂| 330Dv国产女人终合视频极品人与兽| 自拍偷拍 日韩无码| 中文字幕二区| 岛国不卡超碰护士AV在线播放| 91人妻视频在线| 按摩中文字幕| 丰满美女一级毛片在线播放| 色婷婷久久综合超碰| 男男H黄动漫啪啪无遮挡网站| 九九久久久久久爱| 三级日本一区二区三区| 色狠人在线99| 1人人看人人摸人人操| 青青草精玖玖69精品| 成人无码在线超碰网| 色偷偷色偷偷欧美日韩| 国产一区二区欧美日本| 抽插亚洲无码| 成人A片男人的天堂| 亚洲91在线播放影院| 久久久久人| 婷婷久久综合| 国产一区二区三区免费视频在性观看| 久久久免费懂色| 欧美精品自慰系列寂寞少妇 | 99超碰色| 在线视频免费播放一区| 中文字幕99999| 亚洲在钱| 亚洲精品白丝| 国产精品黑人一区二区三区| 久9爱经典视频| 伊人黄色片| 国产吹潮女在线观看| 夜夜高潮夜夜爽| 99色视频| 欧美影音在线| 亚洲精品蜜桃久久久一区二区三区| 亚洲……91| 超碰97男女| 啊啊啊啊二区好大| 天天91~综合入口| 九九无码视频| 亚洲国产尤物yw在线观看| 亲子敌伦对白在线播放| 天天干夜夜鈤| 91精品导航| 97久久久网站| 亚洲欧美激情小说| 午夜亚洲| 日本操嫩b网| 国产一区自拍欧美日韩| 久无码| 欧亚第一综合网| 国产精品老熟女一区二区| 亚洲精品啪视频| 韩国黄片aaaa| 日本国产欧美高清在线| 久操高青| 亚洲中字慕不卡| 精品美女久久一二三| 久久熟女人| 国产精品交换一区二区| 亚洲中文字幕噜噜噜久久久| daxiangjiao你懂的| 色原狠狠天天天| 天天亚洲综合| 欧美综合狠| 国产日韩欧美三级片| 青青三级视频| 亚洲欧美国产中文视频| 免费A V在线播放| 久久久久ab| 久草成人影片| 日韩精品-原创伙伴| 欧美精品成人一区二区在线观看 | 精品欧美А∨无码黑人大荫蒂| 天天狠操| 青青草中文-久久青草精品一区二区三| 91大胆欧美| 亚洲精品97中文字幕| 亚洲久草AV色图| 操逼无码操逼| 婷婷亚洲色| 91总综合网| 黄片www视频免费| 久久精品国产96精品亚洲拳交| 久久精彩视频| 99热日| 亚洲欧美精品一区天堂久久 | 久久中文字幕女同性恋一区| 久久久久久久9999| 亚码人妻| 丝袜美腿丝袜| 午夜超碰| 亚洲啪啪视频一区二区| 日本三级大片| 人妻欧美| 最新亚洲风情电影| 97干天天| 超碰1024久久| 东京热,男人的天堂| 首页中文字幕中文字幕免费| 天堂网亚洲区手机版| 久久婷婷伊人| 玖玖爱综合| 黄网色一区二区三区四区精品| 日韩AV中文字幕电影| 久久久久久网址| 97超碰色屌| 欧美日韩中文视频播放| 国产天天骚| 亚洲AV无码天美传媒一区| 日本不卡免费二区| 韩国一级AAA| 人成午夜免费大片| 国产深喉视频一区二区| 91人妻素女| 69久久| 丁香五月色| 亚洲综合网91| 97高清啪啪| 国产综合网站在线播放 | 色婷婷综合久久中文字幕雪峰| 欧美日韩中文视频播放| 午夜精品久久999热蜜桃介男人用| 日韩美女高潮喷水视频| 久久AV无码网址| 婷婷五月天无码| 欧美最婬乱婬爆婬性视频| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 国产精品3| 色老汉色| 亚洲 欧美 91| 国精精品无码一二三区水多多| 麻花豆传媒剧国产MV出差| 偷拍五区| 三级色影综合网| 欧美青青视频| 久久久久久久久久久97| 久久精品国产72国产精品福利 | 亚洲一区二区三区AV无码| 天天干1区2区在线| 91亚洲影院综合| 久热超碰| 婷婷五月综合在线| 破苞ⅩXXX性无码动漫无码| 精品久久久av无码免费| 国产天天噜一噜久久久| 欧美 亚洲 综合 制服 另类| oumeisetu综合| 熟妇在线视频一区二区| 丁香五月影院| 亚洲国产一区二区三区四区国产| 日韩av不卡在线看| 尤物黄色在线观看网站| 香蕉国产精品麻豆亚洲欧美日韩| 97chaopengongkai| 国产精品久久泡妞网站| 亚洲做性| 青青草好吊色| 日本韩高清无砖码22o| 亚州综合在线| 久久男人的天堂| 一区二区视频你懂的| 玖玖无码超碰| 国产农村妇女精品一| 亚洲色天堂九9| 夜夜福利| 九九九偷拍| 加勒比中文av| 在线播放中文字幕| 炮色五月| 天天射影院| 九九热视频在线观看| 男人午夜天堂| 亚洲久草AV色图| 99这里有精品| 蜜臀av网址| 91爆操视频| 都市激情人妻一区二区青青操视频 | 破苞ⅩXXX性无码动漫无码| 成人免费福利在线观看| 亚洲av淫乱| 黄色十八禁| 欧美精品久久久久久久久88| 亚洲色性情三级| 欧美18 在线观看| 熟妇一区,二区,三区。| 日韩久射综合| 欧美性爱一内片一区二区三区| 国产高清自拍| 后入式在线免费观看60秒| 丝袜美腿91| 国内毛片婷婷六月色| 国产精品一区午夜福利| 久久激情综合| 极品AV网站在线观看| 欧美超碰97| 色五月首页| 色九九综合AV| 26uuu性物| 青青色综合| 亚洲天堂在线怕怕视频| 9色在线| 熟女熟妇伦久久影院毛片一区二区| 国产狂喷潮在线精品| 小草三级久久观看| 亚洲久久久| 亚洲人成色9999精品久久| 伊人嫩草| 成片免费播放| 亚洲性天堂| 99精品热| 狠狠操狠狠操操| 欧美成人9797| 看全色黄大色大片免费视频| 午夜福利1区2区3区| 天堂69亚洲精品中文字| 国产精品另类一区大香蕉| 国产一区在线观看无码AV| 天天摸夜夜操视频| www.狠狠| 秋霞网—男女啪啪亚洲免费体验区 | 久久久工口| 美日韩在线不卡人妻| 肉动漫无遮挡h在线观看| q2午夜理论片夜色av| 成人a大片在线观看| 狠狠爱夜夜| 欧美91在线| 国产精品一区二区黄片| 久久久久女教师免费一区| 精品999日本| 色五月综合网| 999日韩中文精品观看视频。| 天天激情干| 免费一二区| 97干色| 国偷自 一区二区| 久九九九九九九热| 韩日性爱av| 免费国产视频| 98超碰日本| 九九玖玖精品| 97色色网| 超碰99在线| 亚洲欧洲综合成人av一区| 国产精品97视频| 欧美少妇性乱| 欧美狠狠操| 国产不卡片| 夜夜嗨AV一区天天| av午夜影院在线播放| 精品999999| 久久久一二三四区| 综合网97| av东京热男人的天堂| 99热97| 婷婷香蕉欧美在线一区二区三区| 秋霞曰韩R级| xxx亚洲午夜天堂| 97精品网| 欲女人妻性色av| 青青操轻轻| 91欧美综合| 黄片aaaaa一区| 97精品视频在线播放| 丁香五月天啪啪| 人人色人人射人人妻| 大香蕉在线视频15| 99热欧美| 亚洲日产专区| 破处bbq| 久久久98网站免费视频| 亚州欧美总和| 色哟哟 日韩精品| 中国大陆国产高清AⅤ毛片| 国产尤物AV尤物在线观看不卡| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国内精品久9| 精品在线蜜臀| 亚洲熟妇无码一区二区三区| 人人澡综合涩| 久久嫩草国产成人一区| 在线看污网站| 中文字幕日韩电影人妻| 精品无码一区二区三区色欲| 成人性爱电影网| 五月丁香影院| 久久夜夜夜夜| 日韩本不卡视频在线观看 | 91亚洲人| 强奸乱伦大香蕉| 亚洲欧美精品91| 中文字幕少妇色| 精品少妇一区二区三区| 亚洲欧美综合| 大色综合网| 日韩中文字幕av在线播放| 中文 人妻 制服| 国内精品久久人妻性色av| 999久久久免费精品国产牛牛| 欧美大波激情xxxx| 97国产色综合| 另类小说欧美激情校园春色| 亭亭丁香激情| 欧美92| 91成人久久| 国产精品色哟哟| av亚欧| 日韩一级二级| 在线天堂资源亚洲| 麻豆国产免费影片| 日本久久久久久久久久| 国产九九九九九九九九| 亚洲国产福利视频| 欧美精品999| aV中文麻| 亚洲激情网| 新91视频.cmp| 色五月婷婷五月天| 日日操夜夜操天天操免费观看麻豆| 澳门特级毛片免费观看| 熟女高潮精品一区二区| 伊人久久艹| 少妇贴图| 超碰亚洲97| 欧美亚洲| 久久有码| 亚洲va有码在线天堂| 综合91网| 日本高清久久| 亚洲丝袜综合| 欧美综合色站| 无码av永久免费专区网站| 91久久久久久久| 美国一区二区免费视频| 久啪视频| 欧美日韩理论一区| 综合久久久久久久综合网| 偷拍五区| 日本免费中文一区二区三区四区| 天美精品原创av片国产| 久久人爽| 狠狠色丁香| 国产在线视频午夜精华在| 麻豆影音天美视频| 亚洲精品a人片在线观看视| 97国产精选| 好淫网一二三视区| 精品国产人成在线| 粉嫩AV一区二区夜夜| 视频在线观看一二三区| 亚洲一区二区三区播放在线| 亚洲精品蜜桃久久久| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲图片激情综合另类| 天天热精品| 伊色综合天堂色97| 五月天婷精品激情| 呦呦一区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 久久性爱精品一区| 天天操天天干美女网址导航| 综合干干干av久久久综合网| 丁香六月激情综合| 日本免费中文字幕在线| 国产深喉视频一区二区| 91色人| 高清不卡国产| 91黑丝露脚| 激情综合网五月婷婷五月天| 91精品国产91久久青草| 久久老熟女| 欧美激情色婷婷花野真衣一区二区| 五月天激情视频| 中文字幕精品日韩中文字幕| 东京热一区二区中文字幕| 超碰一区二区| 亚洲区限制级| 中文字幕加勒比海高清无码免费视频| 婷婷91| 黄在线| 黄色免费网| 人人操人人肉久久精品| 日本熟妇自慰性高潮一区二区三区| 97一区二区蜜臀| 久久久一级| 99在线观看| 综合久久欧美| 国内自拍 日韩激情 99| 免费一级特黄特色大片在线观看看 | 操国产高清| 哈哈操电影| 亚洲自拍小说| 久久超碰天天| 强乱老妇中文字幕| 亚洲男人天堂网站| 久久老熟女| 亚洲欧洲日韩中文字幕一区| 骚鸭AV| 久久久亚洲精品中文字幕人妻| 欧美激情亚洲情色| 日本五区不卡| 超碰在线免费一区二区三区| 日日摸日日碰夜夜爽视频| 欧美丰满少妇交换91欧美精品| 青青草狠狠撸| 91痴汉| 香蕉精品二区二区| 78操B| 亚洲色图图片| 国产在线综合网| 久久国产逼| 99老司机精品视频在线观看 | 欧美页片| 天天日美女的B| 欧美九一精品久久久熟妇| 四虎免费视频| 久久婷婷热| 五月婷丁香| 色欧美天天| 亚洲熟妇图片| 成人十八禁日韩欧美一二三| 欧美线天码中字| 国产嫩草精品A88AV| 伦理第一页| 亚洲一区中文精品| 秋霞影音一区二区三区| 成人电影一区| wwe 天天干.com| 91欧美另类| 日韩精品资源| 18禁看网站一区| av午夜影院在线播放| 乱老女人一区二区视频| 久久一二区四| 亚洲色综网| 精品久| 91深夜夜| 尹人大香蕉视频在线| 欧美日日夜夜| 欧美色图自拍| 欧美视频一| 成人午夜小视频手机在线看| 欧美日不卡| 亚州熟妇精品| 神马久久午夜| 日本高清有码网址视频| 性色avv| 久久久熟女一区| 九九九久久久| 久久婷综合| 欧美另类自拍| 97超碰香蕉| 两性色网| 青青久操| 久久夜夜| www.久久爱| 精品国产国产AV| 日韩97P| 凸凹视频在线观看| AV天堂男人的天堂| 9999久久久| 黄aaaaaaaaaaaaaaaaaa色网站| 九九久久久久久爱| 麻豆AV一区二区天美传媒| 久久五十路熟女人妻| 97人肏| 青青草综合在线| A V视频日本| 婷婷五月天久久精品视频一区二区三区| 亚洲图片欧美另类综合免费视频大大香| 一级黄色性爱裸体视频| 91碰碰碰| 欧洲站一级二级三级h| 特级特黄一级毛片免费| 北京专精特新企业招聘信息| 精品一区二区三区蜜桃| 97国产成人精品免费视频| 久久大线蕉一区| 91天天| 五月婷婷色| 丝袜视频网国产90| 大香蕉免费乱伦视频| 色香在线| 国产精品爽爽v| 内射黑人| 久久日韩精品一区二区| 精品四五区| 亚洲视频精选| 1024香蕉视频| 精品在线蜜臀| 爽爽歪在线视频| 9丨久久九九九| 国产原创自拍| 91处女在线观看| 亚洲日产专区| 17c嫩草51久久91嫩草| 欧亚综合一卡二卡中文字幕| 美女久久久久久久久久久| 九九Av| 少妇精品| 天天色香欲综合网| 国产美女高潮| 91欧美长吊| 少妇人妻好深太紧了vr91| 天天综合网1| 国产精品成人福利在线| 男人天堂网手机版婷婷| 亚洲无码一区二区三区三州| 青青草依人大香蕉| 91爱综合| 人人摸.人人色| 国产精品一区二区后入| 久久香蕉国产线看观看猫咪av| 日韩有码回春沙龙第一页| 精品人妻美妇91job| 蜜桃天美传媒AV一区二区三区| www.99热| 偷拍亚洲熟女视频播放| 亚欧美色图| 日日干日日| 黄色免费网| 成人十八禁日韩欧美一二三| 亚洲欧美中文日韩视频中国语| 精人妻一区二区三区| AV色天香在线| 亚洲精品影视老司机| 久久老熟女| AV一二区| 青娱乐日韩无码| 激情五月天中文字幕色| 99热18这里只有精品| 99超级碰免费视频| 亚洲av综合伊人久久| 欧美色图小说综合| 天堂综合网| 啊啊啊快操我视频| 九九热在线视频| 精品国产无码中文| 夜夜性| 小骚逼被操的爽不爽| 久久曰曰| 日本免费一级AAA大片器| 干B网| 大香蕉欧美国产日韩高潮| 丁香六月婷婷久久综合| 成人日韩3| 啊啊嗯嗯好爽| 超碰4A| 97一区二区三区视频| 东京热亚洲一区二区| 精品成人动漫一区二区| 国产精品午夜AV完会免费 | 秋霞一集毛片观看| 高清视频一区| 色哟哟精品1精品2| 国产精品久久久久久久久久久久久久久久久久| 在线国产探花| 无码精品人妻一区二区三区妖精 | 麻豆AV一区二区| 成视频在线观看免费看| 999亚洲国产视频| 天天看夜夜看日日干| 加勒比色99999| 人妻素股| 一本大道综合伊人精品热热| 九九热九九热| 国产亚洲99久久精品| 国产亚洲日韩在线三区黑人| 国产超碰AV在线精品| 丝袜AV一区二区三区| 91精品国产91久久久久久久久久久久| 国产精品视频播放| 97爱爱影院| 成人无码专区精品视频| 国产免费一区二区三区最新不卡| 凹凸视频特色日本特黄| 草草网站影院白丝内射| 丰满岳乱妇一区二区三区| 久久久久久久九九九九九九| 欧美18老人禁| a片在线播放| 日韩欧美性吧婷婷乱伦大香蕉 | 97超碰69| 怡红院怡春院| 清纯唯美激情四射| 国产日本熟女顶级一区二区三区视频| 久久香蕉网| 九九在线精品| 熟妇人妻精品一区二区视频色欲| 97婷婷色| 亚洲色鬼| 男插女青青影院| 热久久九九热| 91精品免费| 国产精品乱码久久久久久久| 亚洲影视第一页| 久久超碰天天| 欧美中出1| 99久久久久| 五月天婷婷久久| 亚洲欧洲小说图片视频| 少妇天堂网络| 亚洲综合九| 久久超碰av在线| 久超碰这里只有精品| 中文字幕激情小说| 人人么人人操| 免费一级特黄特色大片在线观看看| 天天搞在线综合网| 717影院理论午夜伦八戒| 丁香五月天啪啪| 亚洲男人天堂2012| 综合激情一一91| 欧美se综合| 大香蕉乱级| 国产浮力影院第1页| 丁香六月激情综合| 99热aaa| 日日碰视频网| 九九九久久久| 亚洲精品亚洲人成在线麻豆| 色五月综合| 东北女人| 日韩大香蕉AV影片| 国产美女自拍AV| 97久久超碰| 打av高清| 久久日韩肥臀| 51久久夜色精品国产麻豆| 国产午夜无码片在线观看影视 | 不卡视频一区蜜桃视频| 国产精品探花色| 97在线精品| 神马久久69| 一区二区视频在看| 岛国AB视频| 9/A片| 亚洲在线观看| 青草草免费网站av| 67914亚洲精品| 亚洲怡春院| 国产精品日本无码A片| 欧美综合区| 九九成人精品| 精品对白久久不卡| 玖玖玖玖精品国产剧情| 人妻天天爽夜夜爽精品2| 日本高清一本二本免费不卡| 久久丁香久草综合网| 91一区二区| 色综合 加勒比| 吖在线不卡一区二区国产剧情| www.99热| 国产又粗又长的视频| 日韩在线性爱免费视频| 精品久久99| 久久一区二区蜜桃| 色噜噜人妻丝袜a∨先锋影| 欧美aⅴ99久久黑人专区| 亚洲图片欧美| 水澄无码AV| 97久久超碰日韩精品| 是还免费视频1727我| 亚州熟女乱伦| 久久久999网站| 淫荡网址| 亚洲有薄码区日本系列中文字幕| 久久久天堂| 欧美一级A片在线看视频性色| 欧美国产有色电影| 国产传媒午夜理伦精品| 亚洲男人的天堂V| 青娱乐休闲视频在线观看| 五月激情小说| 亚洲男人天堂手机版| 这里都是精品在线观看| 91激情国产| 日韩人妻一区二区精品| 97久久精品不卡| 96久久精品一二三区色欲| 日韩欧美水蜜桃人妻| 色翁荡息又大又硬又粗又爽| 色香在线| 日本高清_区二区三区| 人妻激情在线视频| 艹比视频国产精品| 97操97干| 天天爽天天爽| 色99999| 曰本精品久久久| 一本色道久久天天射天天干| 男人的天堂VA在线| 日本高清_区二区三区 | 亚洲欧美中文日韩视频中国语| 淫穴高潮色图| 婷色五月天| 亲子敌伦对白在线播放| 欧美在线伊人色| 天堂俺去俺来也www久久婷婷| 精品美女久久一二三| 亚洲成熟国产精品美女| JuliaAnnXXX888| 亚洲色图超碰在线| 在线毛片片免费观看| 国产精品视频| A片三级无码| 亚洲男人天堂av| 成人日韩中文字幕| 亚洲 国产 精品一区| 天天摸天天操视频| 蜜桃传媒一区二区亚洲| 日逼视频日本| 少妇激情一区二区三区视频| 精品人妻1237| 可以在线观看AV的网站| 婷婷激情四射| 啊啊啊好舒服好爽啊啊啊视频| 可以免费观看的日韩av毛片| 亚洲综合伊人无码久久| 91天天综合网,天天综合网| 特级丰满少妇一级AAAA爱毛片| 欧美综合天堂| 久久一二三四五六七八九区区| 极品色www影院| 国产一级舔足在线观看| 91熟女.com| 按摩中文字幕| 妺妺跟我一起洗澡没忍住| 九九九九热| 国产九九九九九九| 久久25| 久9热| 久久久久久日韩| 亚洲色图91| 久久视频,这里只有精品| 一品道视频一区二区三区| 久久久18禁| www.夜夜操| 国产亚洲中文不卡二区| 78超碰| 97综合久第一页| 日韩av色图综合| 青青草中文-久久青草精品一区二区三 | 26uuu国产亚洲综合| 成人AV在线网站| 日本男人插女人的逼黄色| 欧美后进式| 毛片电影一区二区三区| 人人操人人插人人摸人人干| 亚洲成人贴图| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲黄日韩无码专区| 五月激情综合网| 自慰白浆在线观看| 久久91精品国产9丨久久分亭| 亚州综合网| 久久97视频| 欧洲精品欧洲精品| 狠狠搞 亚洲91| 亚洲日本韩国极品一区二区| 久久久国产三级黄色片| 青娱乐国产精品| 思思热免费在线视频| 肏逼视频日本| 日韩欧美性爱电影在线观看| 国产精品视频在线观看| 亚州色图欧美色图| 我爱操| 91色人| 热G综合热G中文| 九久久精品| 色香综合天天影视综合| 狠狠2050在线观看| 免费成人在线熟妇网| 国产亚洲色婷婷99精品91| 欧美狠狠弄| 熟女中出视频| 日本久久综合| 青青三级视频| 香蕉大久久久| 日韩特一级久久| 夜夜国自区| 久久久天堂| 午夜噜噜噜| 熟妇视频一区二区三区在线| juliaann欧美丝袜办公室| 操熟女91| 婷婷超| 欧美一级美片在线观看免费| www.久久制服糖| 久久这里是精品| 无码精品蜜桃一区二区三区ww| 免费A V在线播放| 久久 国产精品 一区| 91啪啪| 黄页18禁| 色九九九综合| 久久精品日韩专区免费观看| 可乐操亚洲蜜911| 亚洲久9| 91福利网在线观看| 久操com| 久久久久婷婷| 在线女人91| 北条麻妃性愛视频| 91九色丰满高潮| 欧美亚洲91| 超碰无码加勒比| 操逼网站视频漫画国产| 久久精彩视频| 激情亚洲天堂| 羞答答AV中文字| 清纯唯美亚洲综合| 国产操逼视频在线观看| 欧美亚洲中文字幕| 精精夜夜| 91伊人久久在线| 一本道综合色图| 99999无码| 久久超碰av在线| 欧美色视| 日本不卡高清视频| 丁香激情五月天| 色天堂综合| 久久人妻熟女一区二区| 人人操人人舒服| 性爱av网站| 91电影色诱| 97国产|免费| 国产精品毛片?v一区二区三区| 久久综合激情| 东北老女人的激情视频| 亚洲极品| 在线观看不卡一区二区三区| 国产免费永久精品无码| 九草在线大香蕉| 欧美东京热青青草| 熟女精品va中文字幕| 久久熟女人| 亚洲色图欧美色图在线播放| 国产精品高清2021在线| 久9视频| 91国精产品| 牛牛AV人人夜夜澡人人爽| 97碰在线视频| 久久久久9999精品九九九| 亚洲天堂精品日韩电影| 高清无码国产亚洲| 91精品国久久久久久无码| 一起草高清无码| 免费黄色片子| 美女骚尻视频| 久久首页| 天天天肏屄欧美| 超碰九区| 日韩成人电影AV| 精品久久艹| 曰韩精品视频一区二区| 国产精品熟女AV中文字幕在线播放| 亚洲欧美天| 91强热人妻| 亚洲伊人久久精品影院| 香蕉黄色一级视频| 欧美在线伊人色| 中文字幕丰满子伦无码专区在线视频最新| 精品一区二区成人动漫| 美女91色黄18| 乳欲人妻办公室奶水| 伊人丝袜美腿高跟在线观看高清| 97超碰欧美| 亚洲色鬼| 蜜臀AV午夜精品久| 丁香六月婷婷久久综合| 小电影欧美91| 亚洲高清在线| 蜜臀Av一区二区三区| 999国产精品999| 大干人妻| 久久老子无码午夜伦不卡| 国产精品夜夜夜| 综合一区中亚洲国产成人综合精品 | 中文字幕视频2区| 亚洲美女av无码| 丰满翘臀美女影院视频| 性夜影院爽黄A爽免费动漫| 99热这里只有精| 狠狠操,使劲操| 欧美色997| 在线看的av| 狠狠干妹子| 日韩999| 色噜噜狠狠色综无码久久合欧美| 色性综合| 国产精品精品系列在线观看| 国产无遮挡| 日韩精品在线观看观看| 黄色十八禁| 日本福利二区视频| 久久久精品网| 丝袜性亚洲| 操高情无码| 欧美黑人与女人91| 情侣开房子拍 日韩无码 女的很漂亮| 超碰97中文| av午夜玫瑰| 欧美成人性爱视频免费观看| 国产夫妻性生活视频| 美女刺激久久国产欧美| 91精品人妻偷情| 欧美 亚洲 综合 制服 另类| 高清国产av无码| 少妇久久久久久久| 国产美女精品| 日韩操人| 欧美日韩高潮喷水91| 亚洲黄色视频在线观看视频| 91美女視頻| AV中文在线可看| 370p日韩欧美亚洲精品| 91痴汉| 青青草视频久久久久| 日韩性爱电影一区| 亚洲图片另类| 欧美国产操逼| 校园春色之综合网| 欧美一区二区三区另类精品| 婷婷人妻激情| 亚洲美女30b| 91粉嫩萝控精品福利网站_精品影音先锋国| 久久久久久综合久久伊人蜜月| 草蕉影视亚洲无码| 91日本在线观看| 欧美人人曰人人操人人射射| 蜜桃午夜视频一区二区| 蜜桃视频精品一区二区三区| 亚洲黄网在哪免费看| 国产女同在线观看视频| 天天干1区2区在线| 美女在线H91| 亚洲精品国产精品乱码不99| 你懂的在线观看区国产| AV女资源| 国产第11页| 一区黄二区黄| 久久激情网| 日韩一级特黄av毛片| 熟女乱3伦999| 精品九区| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产美女高潮视频| 亚洲资源网| 老熟女熟妇| 男人的天堂2018东京热啪啪啪| 俺去俺来也在线www| 搞中出久久| 亚洲成人激情小说视频| 可乐操亚洲蜜911| 亚洲。天堂。日本在线观看| 99久久综合| 久9久| 亚洲少妇色| 国产亚洲99久久精品| 精品少妇后入一区二区三区四区人妻巨乳| 91天天| 熟女AV一区| 91精品黄在线观看| 自拍内地三级在线观看| 亚洲交性| 综合网少妇| 国产AV天美传媒一区二区三区| 神马久久网| 日韩AV一区二区三区三州三州| 亚洲av夫妻操穴网| 五月婷婷激情网| 深田咏美亚洲精品福利社| 国产曰批免费观看久久久| 国产超碰AV在线精品| 国产成人91一区二区三区| 97色97干| 国产精品人妻无码久久久互動交流| 97超碰大| 日本天天干天天操一区| 欧美偷拍| 国产白丝AV| 久久精品久久久久久久| 亚欧美综合网| 亚州性色| 亚洲美女AV无码| 国产 日韩 欧美一区| 久久久久久网址| 人人操人人干xxx| 强奸乱伦AV一天堂网| 操操操五月天婷婷丁香影院| 波多野结衣AV无码一区| 国产亚洲精品A在线观看下载| 日韩在线一区高清在线| 麻豆60秒| 99自拍B亚洲| 东北女人被操| 91天天c| 亚洲综合一| 欧美淫乱视频| 熟妇一区二区| 国产粉嫩蜜臀av一区二区三区|