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

ARTICLE DETAIL

資訊詳情

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

Python爬蟲(chóng)實(shí)戰(zhàn):豆瓣Top250數(shù)據(jù)分析與可視化全流程

Python爬蟲(chóng)實(shí)戰(zhàn):豆瓣Top250數(shù)據(jù)分析與可視化全流程 簡(jiǎn)介基于Python爬取豆瓣電影Top250并完成數(shù)據(jù)分析與可視化的完整項(xiàng)目面向計(jì)算機(jī)相關(guān)專業(yè)正在做課程大作業(yè)的學(xué)生以及需要實(shí)戰(zhàn)練習(xí)的Python學(xué)習(xí)者。資源共2000個(gè)文件以1830個(gè)Python源碼文件為主涵蓋爬蟲(chóng)抓取、數(shù)據(jù)清洗、統(tǒng)計(jì)分析、可視化繪圖等核心模塊同時(shí)包含C擴(kuò)展、txt配置、HTML/CSS/JS前端展示文件、PDF文檔等輔助內(nèi)容整體壓縮包約80.74MB文件層級(jí)清晰查找定位方便。目前已有942人學(xué)習(xí)下載。項(xiàng)目經(jīng)導(dǎo)師指導(dǎo)并通過(guò)高分驗(yàn)收評(píng)審分98分全部源碼已本地編譯調(diào)試并穩(wěn)定運(yùn)行從豆瓣Top250頁(yè)面抓取、字段解析、數(shù)據(jù)清洗到統(tǒng)計(jì)分析與可視化出圖形成完整項(xiàng)目鏈路。附帶文檔說(shuō)明還包括運(yùn)行環(huán)境配置、使用步驟、設(shè)計(jì)思路和常見(jiàn)問(wèn)題排查能幫助讀者快速理解數(shù)據(jù)分析項(xiàng)目開(kāi)發(fā)全流程借鑒代碼組織方式與調(diào)試技巧對(duì)完成課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)具有直接的參考價(jià)值。1. 為什么拿豆瓣Top250當(dāng)爬蟲(chóng)和數(shù)據(jù)可視化練手項(xiàng)目數(shù)據(jù)規(guī)模與交付形態(tài)正好匹配拿“Python爬取豆瓣電影Top250數(shù)據(jù)分析與可視化”當(dāng)成一個(gè)完整項(xiàng)目來(lái)做最大的好處不是頁(yè)面難爬而是它剛好覆蓋了從業(yè)者日常最常用的一套鏈路請(qǐng)求 → 解析 → 清洗 → 分析 → 出圖。Top250只有250條數(shù)據(jù)單頁(yè)25條共10頁(yè)字段卻足夠豐富——排名、片名、導(dǎo)演、主演、年份、制片國(guó)家或地區(qū)、類型、評(píng)分、評(píng)價(jià)人數(shù)、引用語(yǔ)。這個(gè)規(guī)模意味著你不需要分布式爬蟲(chóng)、不需要消息隊(duì)列一臺(tái)普通筆記本用requests加BeautifulSoup就能穩(wěn)定跑完但它又足夠讓你踩到真實(shí)項(xiàng)目里最常見(jiàn)的坑反爬校驗(yàn)、字段拆分、空值處理、中文字體亂碼。很多入門(mén)教程跑完就結(jié)束了但真正到交付環(huán)節(jié)才發(fā)現(xiàn)問(wèn)題爬到的數(shù)據(jù)洗不干凈圖表畫(huà)出來(lái)沒(méi)有業(yè)務(wù)含義代碼改一處別處就崩。這篇筆記會(huì)把源碼和文檔說(shuō)明里該有的模塊拆開(kāi)講從單頁(yè)請(qǐng)求到翻頁(yè)循環(huán)從復(fù)合字段清洗到pandas指標(biāo)計(jì)算再到matplotlib與pyecharts的分工最后給出一套自檢和增量更新的驗(yàn)證方式。適合剛跑通Python基礎(chǔ)、想做一個(gè)完整數(shù)據(jù)分析與可視化實(shí)踐項(xiàng)目的人也適合已經(jīng)寫(xiě)過(guò)爬蟲(chóng)、但想把代碼從“能跑”提升到“能交付”的熟手。2. 請(qǐng)求與解析先用單頁(yè)跑通再把start參數(shù)變成翻頁(yè)循環(huán)2.1 請(qǐng)求頭、延時(shí)與緩存把“反爬”從玄學(xué)變成工程紀(jì)律豆瓣Top250的反爬嚴(yán)格程度在同類網(wǎng)站里算溫和的但不代表可以不帶腦子請(qǐng)求。很多人一上來(lái)就寫(xiě)一個(gè)for循環(huán)連續(xù)請(qǐng)求10頁(yè)結(jié)果第3頁(yè)開(kāi)始返回418或者一個(gè)“檢測(cè)到異常訪問(wèn)”的提示頁(yè)。這里的核心問(wèn)題不是網(wǎng)站有多強(qiáng)而是你的請(qǐng)求特征太像腳本了。我一般的做法是三個(gè)動(dòng)作同時(shí)做。第一固定一個(gè)完整的User-Agent和Accept-Language讓請(qǐng)求頭接近瀏覽器第二每頁(yè)請(qǐng)求之間加隨機(jī)延時(shí)把1秒到2秒的間隔打散第三把每次請(qǐng)求到的HTML緩存到本地目錄下次跑的時(shí)候優(yōu)先讀緩存。第三點(diǎn)很多人忽略但它其實(shí)是整個(gè)爬蟲(chóng)實(shí)戰(zhàn)里最有用的“后悔藥”——豆瓣頁(yè)面的榜單變化很慢你完全不需要每次重新請(qǐng)求一遍緩存還能幫你定位解析問(wèn)題頁(yè)面結(jié)構(gòu)變了和代碼寫(xiě)錯(cuò)了是兩種完全不同的排錯(cuò)路徑。import os import time import random import requests 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 ), Accept-Language: zh-CN,zh;q0.9,en;q0.8, } CACHE_DIR html_cache def get_page(start: int, use_cache: bool True) - str: os.makedirs(CACHE_DIR, exist_okTrue) cache_file os.path.join(CACHE_DIR, ftop250_{start}.html) if use_cache and os.path.exists(cache_file): with open(cache_file, encodingutf-8) as f: return f.read() url fhttps://movie.douban.com/top250?start{start}filter resp requests.get(url, headersHEADERS, timeout10) resp.raise_for_status() html resp.text with open(cache_file, w, encodingutf-8) as f: f.write(html) time.sleep(random.uniform(1.0, 2.0)) return html邏輯說(shuō)明get_page先是構(gòu)造帶start參數(shù)的URLstart0對(duì)應(yīng)第1頁(yè)start25對(duì)應(yīng)第2頁(yè)每頁(yè)25條。拿到響應(yīng)后先寫(xiě)緩存再延時(shí)這樣即使后續(xù)解析代碼寫(xiě)錯(cuò)了重新調(diào)試時(shí)也不會(huì)再消耗請(qǐng)求次數(shù)。參數(shù)說(shuō)明timeout設(shè)10秒避免某個(gè)頁(yè)面卡住拖死整個(gè)腳本random.uniform(1.0, 2.0)把間隔控制在1到2秒之間這個(gè)頻率遠(yuǎn)低于豆瓣的風(fēng)控閾值足夠穩(wěn)定。不要為了趕時(shí)間把延時(shí)去掉這個(gè)項(xiàng)目的數(shù)據(jù)量決定了你省下的時(shí)間最多幾秒但觸發(fā)的風(fēng)控可能要等幾分鐘甚至更久。提示緩存目錄建議單獨(dú)建不要和代碼混在一起。文檔說(shuō)明里把這一步寫(xiě)清楚別人拿到源碼后第一眼就知道哪些文件是緩存、哪些是源碼。2.2 用BeautifulSoup提取Top250單頁(yè)字段選擇器、解析與翻頁(yè)參數(shù)拿到HTML后真正核心的解析邏輯其實(shí)固定在單頁(yè)里。Top250列表頁(yè)的結(jié)構(gòu)一直是ol.grid_view下的li每個(gè)li包含一部電影的完整信息標(biāo)題在.hd下的.title里評(píng)分在.star下的.rating_num引用語(yǔ)在.quote下的span而導(dǎo)演、主演、年份、地區(qū)、類型全部塞在.info .bd下面的p標(biāo)簽里。這個(gè)p標(biāo)簽內(nèi)部用br分隔成兩行是需要單獨(dú)處理的。from bs4 import BeautifulSoup import re def parse_page(html: str, start: int) - list[dict]: soup BeautifulSoup(html, lxml) items [] for li in soup.select(ol.grid_view li): rank int(li.select_one(.pic em).text) title_tag li.select_one(.hd .title) title title_tag.text.strip() if title_tag else rating_tag li.select_one(.star .rating_num) rating float(rating_tag.text) if rating_tag else 0.0 quote_tag li.select_one(.quote span) quote quote_tag.text.strip() if quote_tag else info_p li.select_one(.info .bd p) info_lines info_p.get_text( , stripTrue).split( ) # info_lines 大概是: # [導(dǎo)演: 某某 / 主演: 某某, 1994 / 美國(guó) / 犯罪 劇情] person_line info_lines[0] if len(info_lines) 0 else meta_line info_lines[1] if len(info_lines) 1 else items.append({ rank: rank, title: title, rating: rating, quote: quote, person_line: person_line, meta_line: meta_line, }) return items邏輯說(shuō)明先用select定位列表項(xiàng)再逐字段提取。這里的技巧是把導(dǎo)演主演單獨(dú)留成一個(gè)原始字符串不要急著拆因?yàn)椴煌瑮l目的主演人數(shù)不一樣拆早了容易丟失信息。meta_line同樣保留整行后面清洗階段再統(tǒng)一按“/”拆分。參數(shù)說(shuō)明select_one在目標(biāo)不存在時(shí)返回None所以每個(gè)字段都做了兜底。rank用int轉(zhuǎn)換rating用float轉(zhuǎn)換萬(wàn)一豆瓣調(diào)整了評(píng)分顯示精度這個(gè)轉(zhuǎn)換也不會(huì)崩。get_text( , stripTrue)的作用是把p標(biāo)簽里的br換成空格再拼接這樣兩行文本還能用split( )分開(kāi)如果不加這個(gè)參數(shù)br會(huì)直接把文本拼成一坨后續(xù)清洗就沒(méi)法做了。3. 字段清洗與存儲(chǔ)復(fù)合字段拆分、去重與CSV落盤(pán)的落地規(guī)則3.1 年份、制片地區(qū)、類型混在一行用正則和split拆干凈爬到的數(shù)據(jù)里最臟的不是評(píng)分而是meta_line這一行文本。它長(zhǎng)這樣“1994 / 美國(guó) / 犯罪 劇情”但有三種變體非常容易讓人翻車(chē)年份后面帶括號(hào)備注比如“1993 / 中國(guó)大陸 / 中國(guó)香港”制片國(guó)家或地區(qū)本身帶斜杠比如“美國(guó) / 英國(guó)”類型字段由兩個(gè)英文單詞組成比如“劇情 愛(ài)情”。如果無(wú)腦用split(/)然后取第0個(gè)元素當(dāng)年份就會(huì)把“1993中國(guó)大陸”整個(gè)當(dāng)成年份字符串。def clean_meta(meta_line: str): # 先用正則把年份摘出來(lái)年份一定是4位數(shù)字 year_match re.search(r(\d{4}), meta_line) year int(year_match.group(1)) if year_match else None # 去掉年份和可能帶括號(hào)的備注剩下的才是“地區(qū) / 類型” rest re.sub(r\d{4}.*?/, , meta_line) parts [p.strip() for p in rest.split(/)] country parts[0] if parts else genres [g.strip() for g in parts[1].split()] if len(parts) 1 else [] return year, country, genres邏輯說(shuō)明先正則搜索4位連續(xù)數(shù)字作為年份把年份從原字符串里摘出去避免后續(xù)split被年份備注干擾。rest里可能還殘留“中國(guó)大陸 / 中國(guó)香港”這樣的多地區(qū)字段直接取第一個(gè)作為主要制片地區(qū)類型則用split()按空白切分因?yàn)槎拱甑念愋妥侄沃虚g是空格不是斜杠。參數(shù)說(shuō)明re.search而不是re.findall因?yàn)橐徊侩娪爸挥幸粋€(gè)年份。re.sub的替換模式里\d{4}.*?/是非貪婪匹配作用是從年份開(kāi)始一直去掉到第一個(gè)斜杠這樣即使年份后面跟著“(中國(guó)大陸)”也能一次清干凈。genres用split()而不是split( )既能處理單個(gè)空格也能處理多個(gè)空格。主演字段同樣需要單獨(dú)處理。person_line長(zhǎng)這樣“導(dǎo)演: 弗蘭克·德拉邦特 Frank Darabont 主演: 蒂姆·羅賓斯 Tim Robbins / 摩根·弗里曼 Morgan Freeman”里面中英文混排演員之間用斜杠分隔。def clean_person(person_line: str): director actors [] if 導(dǎo)演: in person_line: director_part person_line.split(導(dǎo)演:)[1].split(主演:)[0] director director_part.strip() if 主演: in person_line: actors_part person_line.split(主演:)[1] # 只要前3位主演 actors [a.strip() for a in actors_part.split(/)[:3]] return director, actors邏輯說(shuō)明先按“導(dǎo)演:”切出導(dǎo)演段再按“主演:”切出演員段。演員只取前3位因?yàn)門(mén)op250條目里主演最多能達(dá)到六七個(gè)取全了會(huì)讓后面的詞頻分析變得很碎。這里有一個(gè)隱藏坑有些老電影條目沒(méi)有“主演:”字樣只有導(dǎo)演所以兩個(gè)if都必須獨(dú)立判斷不能把邏輯寫(xiě)成else。參數(shù)說(shuō)明split(/)[:3]中的[:3]是硬編碼如果某天想分析完整演員陣容改成不帶切片即可。director的strip()不能省因?yàn)閷?dǎo)演字段后面可能帶著一個(gè)空格再拼接主演字段。3.2 從DataFrame到CSV編碼、去重與斷點(diǎn)續(xù)爬的落地寫(xiě)法清洗完單個(gè)條目后把全部10頁(yè)數(shù)據(jù)匯總成DataFrame。這里要定一列統(tǒng)一字段順序rank、title、year、country、genres、director、actors、rating、quote其中actors和genres是列表存CSV前需要轉(zhuǎn)成字符串否則pandas會(huì)寫(xiě)出帶引號(hào)的Python字面量。import pandas as pd def build_dataframe(all_items: list[dict]) - pd.DataFrame: cleaned [] for item in all_items: year, country, genres clean_meta(item[meta_line]) director, actors clean_person(item[person_line]) cleaned.append({ rank: item[rank], title: item[title], year: year, country: country, genres: /.join(genres), director: director, actors: /.join(actors), rating: item[rating], quote: item[quote], }) df pd.DataFrame(cleaned) df df.drop_duplicates(subset[rank]).sort_values(rank) df.to_csv(top250.csv, indexFalse, encodingutf-8-sig) return df邏輯說(shuō)明清洗函數(shù)接收原始字段輸出規(guī)整的單條記錄。genres和actors用“/”重新拼回字符串是為了讓CSV每一列都是可讀文本而不是Python列表字面量。drop_duplicates按rank去重防止重復(fù)請(qǐng)求或斷點(diǎn)續(xù)爬時(shí)產(chǎn)生重復(fù)行。參數(shù)說(shuō)明encodingutf-8-sig是給Excel用戶準(zhǔn)備的不加這個(gè)參數(shù)Excel打開(kāi)CSV時(shí)中文會(huì)亂碼如果只給pandas自己讀普通utf-8就夠。sort_values(rank)保證輸出順序穩(wěn)定后續(xù)分析圖和榜單排名一致調(diào)試時(shí)方便對(duì)照原始網(wǎng)頁(yè)。注意初版代碼不要把清洗和分析混在同一個(gè)文件里。源碼至少要拆成crawler.py、clean.py、analysis.py三個(gè)模塊文檔說(shuō)明里寫(xiě)清楚運(yùn)行順序否則改一個(gè)字段格式就要連帶改畫(huà)圖代碼這是項(xiàng)目腐化最快的方式。4. 避坑與常見(jiàn)問(wèn)題4條讓爬取、清洗與分析翻車(chē)的真實(shí)記錄4.1 請(qǐng)求返回418或解析結(jié)果為空列表現(xiàn)象、原因與排查順序現(xiàn)象代碼第一次跑通加了一個(gè)for循環(huán)請(qǐng)求10頁(yè)跑到第4頁(yè)突然打印出“418”狀態(tài)碼或者頁(yè)面正常返回但select(ol.grid_view li)一個(gè)元素都選不到。原因連續(xù)請(qǐng)求觸發(fā)了風(fēng)控豆瓣返回了一個(gè)驗(yàn)證頁(yè)面還有一種情況是你改了headers里的某個(gè)字段導(dǎo)致頁(yè)面返回的是默認(rèn)的靜態(tài)模板而不是電影列表。這兩個(gè)原因的表現(xiàn)形式完全一樣都是“沒(méi)有l(wèi)i”。解決先打印response.status_code和response.text的前200個(gè)字符確認(rèn)是418還是200。如果是418說(shuō)明頻率太高把延時(shí)從random.uniform(1.0, 2.0)改成random.uniform(2.0, 4.0)如果返回200但沒(méi)有l(wèi)i檢查headers里是否漏了Accept-Language或者User-Agent被requests庫(kù)覆蓋成了默認(rèn)值。我踩過(guò)一次最蠢的坑在for循環(huán)外面定義的session循環(huán)里卻每次新建requests.get導(dǎo)致cookies沒(méi)有復(fù)用服務(wù)端把每次請(qǐng)求都當(dāng)成新連接風(fēng)控閾值更低。4.2 正則拆年份“吞掉”了數(shù)據(jù)爬到了卻洗丟了現(xiàn)象寫(xiě)正則的時(shí)候想匹配年份和地區(qū)用了re.findall(r\d{4}, meta_line)發(fā)現(xiàn)《霸王別姬》的年份輸出是1993這沒(méi)問(wèn)題但用同一個(gè)正則去匹配帶備注的條目比如“1993(中國(guó)香港) / 中國(guó)大陸”年份后面莫名多了一段字符串。原因正則\d{4}只匹配4位數(shù)字不匹配后面的括號(hào)備注但如果你在提取完后沒(méi)有把備注部分從原字符串里remove掉下一步split(/)時(shí)“1993(中國(guó)香港)”就成了一個(gè)整體。解決按代碼段的順序來(lái)先re.search提取年份再re.sub把從年份開(kāi)始的這截內(nèi)容連同斜杠一起刪掉最后才做split。這個(gè)順序不能反過(guò)來(lái)——如果先split再提取年份遇到“美國(guó) / 英國(guó)”這種地區(qū)本身帶斜杠的條目年份索引就全亂了。我見(jiàn)過(guò)有人用切片取第0個(gè)元素當(dāng)年份在Top250上大概90%的條目是對(duì)的剩下10%的條目錯(cuò)得毫無(wú)規(guī)律這種bug最可怕因?yàn)樗粫?huì)報(bào)錯(cuò)。4.3 清洗后明明250條分析時(shí)只剩248條空值溯源現(xiàn)象CSV里檢查行數(shù)是250但pandas讀進(jìn)來(lái)做groupby(year)之后年份分布的總和只有248。逐行排查發(fā)現(xiàn)是兩條評(píng)分缺失的條目被dropna帶走了。原因豆瓣Top250并不是每條都有“引用語(yǔ)”quote字段在解析時(shí)被賦了空字符串。清洗階段如果寫(xiě)了df df.dropna()空字符串不會(huì)觸發(fā)dropna但如果你把空字符串fillna(pd.NA)再dropna就會(huì)把這兩條看似“不完整”的數(shù)據(jù)刪掉。解決分析腳本里只對(duì)參與計(jì)算的列做空值處理比如df.dropna(subset[rating, year])絕不對(duì)整張表做全字段dropna。更穩(wěn)的做法是清洗階段把quote的空字符串統(tǒng)一替換成“無(wú)”這樣無(wú)論是存CSV還是后續(xù)做詞云都不會(huì)影響主鏈路。4.4 matplotlib中文亂碼與坐標(biāo)軸重疊可視化最常見(jiàn)的兩座山現(xiàn)象畫(huà)評(píng)分分布圖標(biāo)題和坐標(biāo)軸文字全是方塊畫(huà)年份分布圖X軸年份標(biāo)簽擠成一團(tuán)什么都看不清。原因matplotlib默認(rèn)字體不含中文字符需要顯式指定字體年份從1939到2023跨度太大默認(rèn)刻度策略不會(huì)自動(dòng)旋轉(zhuǎn)標(biāo)簽。解決繪圖前先設(shè)置三行rcParams把字體切到SimHei并關(guān)閉unicode負(fù)號(hào)。如果運(yùn)行環(huán)境是Linux服務(wù)器SimHei不存在改成Noto Sans CJK SC。X軸標(biāo)簽在刻度超過(guò)10個(gè)時(shí)加plt.xticks(rotation45)這一步不是美化是數(shù)據(jù)可讀性的底線。下面的代碼塊是每次畫(huà)圖都要帶的配置import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False邏輯說(shuō)明font.sans-serif必須放在繪圖代碼之前且不能放在函數(shù)內(nèi)部否則每次調(diào)用都需要重復(fù)設(shè)置。axes.unicode_minus控制負(fù)號(hào)顯示不設(shè)置的話坐標(biāo)軸負(fù)號(hào)會(huì)變成方塊這個(gè)問(wèn)題在評(píng)分分布圖里特別明顯。5. 數(shù)據(jù)分析與可視化用pandas算出結(jié)論、用圖表把結(jié)論講清楚的完整鏈路5.1 用pandas算評(píng)分分布、年代分布與地區(qū)Top10代碼與參數(shù)數(shù)據(jù)清洗完成后的第一步不是畫(huà)圖而是先想清楚要回答哪幾個(gè)問(wèn)題。Top250這個(gè)數(shù)據(jù)能支撐的結(jié)論大致有四類評(píng)分分布是否集中在9分以上、哪個(gè)十年貢獻(xiàn)的榜單影片最多、哪些國(guó)家或地區(qū)上榜最多、哪些導(dǎo)演多次上榜。每個(gè)問(wèn)題對(duì)應(yīng)一個(gè)pandas操作代碼量不大但參數(shù)細(xì)節(jié)值得講。import pandas as pd import numpy as np df pd.read_csv(top250.csv) # 1. 評(píng)分分布按0.1分間隔做分桶統(tǒng)計(jì) df[rating_bin] pd.cut(df[rating], binsnp.arange(8.0, 10.0, 0.1)) rating_dist df[rating_bin].value_counts().sort_index() # 2. 年代分布按十年分桶 df[decade] (df[year] // 10) * 10 decade_dist df[decade].value_counts().sort_index() # 3. 地區(qū)分布把“美國(guó) / 英國(guó)”拆成多行再計(jì)數(shù) df_country df.assign(country_listdf[country].str.split(/)).explode(country_list) country_top10 df_country[country_list].str.strip().value_counts().head(10) # 4. 導(dǎo)演上榜頻次 director_top10 df[director].value_counts().head(10)邏輯說(shuō)明pd.cut用等距分箱把評(píng)分分成從8.0到9.9的區(qū)間這樣才能看出“9.0到9.1”和“9.1到9.2”是否有斷層。年代分桶用的是整除技巧year // 10 * 10把1994變成1990、2003變成2000天然形成十年粒度。地區(qū)分布里explode是關(guān)鍵原始數(shù)據(jù)里一部合拍片可能同時(shí)屬于美國(guó)和英國(guó)只有拆成兩行才能準(zhǔn)確統(tǒng)計(jì)地區(qū)占比。參數(shù)說(shuō)明np.arange(8.0, 10.0, 0.1)生成的區(qū)間是左閉右開(kāi)9.9分會(huì)被歸到9.9到10.0那一桶不會(huì)丟失。value_counts()默認(rèn)按頻次降序distinct排序時(shí)用sort_index()恢復(fù)區(qū)間順序否則畫(huà)出來(lái)的X軸是亂的。head(10)限制了輸出條目Top250里上榜國(guó)家或地區(qū)有幾十個(gè)只取前10畫(huà)圖避免條形圖X軸被擠爆。5.2 靜態(tài)圖先對(duì)齊結(jié)論交互圖再談美觀matplotlib與pyecharts的分工數(shù)據(jù)分析與可視化實(shí)踐里最常見(jiàn)的錯(cuò)誤是一上來(lái)就追美觀圖表樣式調(diào)了一下午結(jié)論沒(méi)驗(yàn)證。我的一般流程是先用matplotlib出四張靜態(tài)圖確認(rèn)數(shù)據(jù)和結(jié)論對(duì)得上再用pyecharts做成可交付的HTML看板。后者不改變分析結(jié)論只改變展示層。import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False fig, axes plt.subplots(2, 2, figsize(14, 10)) # 左上評(píng)分分布直方圖 axes[0, 0].hist(df[rating], bins20, edgecolorwhite) axes[0, 0].set_title(Top250評(píng)分分布) # 右上年代分布柱狀圖 decade_dist.plot(kindbar, axaxes[0, 1]) axes[0, 1].set_title(上榜電影年代分布) # 左下地區(qū)Top10條形圖 country_top10.plot(kindbarh, axaxes[1, 0]) axes[1, 0].set_title(制片地區(qū)Top10) # 右下評(píng)分與評(píng)價(jià)人數(shù)散點(diǎn)圖 axes[1, 1].scatter(df[rating], df[rating_count]) axes[1, 1].set_xlabel(評(píng)分) axes[1, 1].set_ylabel(評(píng)價(jià)人數(shù)) plt.tight_layout() plt.savefig(top250_analysis.png, dpi150)邏輯說(shuō)明四張圖分別對(duì)應(yīng)四個(gè)分析結(jié)論。評(píng)分分布直方圖能直接看出9.0到9.5是不是密集區(qū)年代柱狀圖用來(lái)觀察近幾年上榜數(shù)量是增還是減地區(qū)條形圖回答“哪個(gè)國(guó)家的電影最受榜單認(rèn)可”右下角的散點(diǎn)圖是把評(píng)分和評(píng)價(jià)人數(shù)放一起看高評(píng)分是否等于高熱度。matplotlib的核心價(jià)值是快和糙讓你在十分鐘內(nèi)確認(rèn)數(shù)據(jù)沒(méi)有異常。參數(shù)說(shuō)明figsize(14, 10)控制總畫(huà)布尺寸四個(gè)子圖才不會(huì)擠在一起。dpi150是保存清晰度的下限低于這個(gè)值放大看會(huì)有鋸齒。tight_layout()會(huì)自動(dòng)調(diào)整子圖間距不調(diào)用的話標(biāo)題和坐標(biāo)軸會(huì)互相壓住。pyecharts的用法跟matplotlib完全不同。它生成的是HTML文件可以在瀏覽器里交互適合放進(jìn)交付文檔或可視化大屏。下面是用它畫(huà)地區(qū)Top10的完整代碼from pyecharts.charts import Bar from pyecharts import options as opts bar ( Bar() .add_xaxis(country_top10.index.tolist()) .add_yaxis(上榜數(shù)量, country_top10.values.tolist()) .set_global_opts( title_optsopts.TitleOpts(title豆瓣Top250制片地區(qū)分布), xaxis_optsopts.AxisOpts(axislabel_optsopts.LabelOpts(rotate45)), ) ) bar.render(country_top10.html)邏輯說(shuō)明pyecharts的鏈?zhǔn)秸{(diào)用把數(shù)據(jù)、坐標(biāo)軸和全局配置組合到一個(gè)對(duì)象里render輸出獨(dú)立HTML文件不需要本地起服務(wù)。rotate45是必須的Top10地區(qū)的名字比較長(zhǎng)不旋轉(zhuǎn)會(huì)重疊。這個(gè)HTML可以直接發(fā)給任何人雙擊就能看hover有數(shù)值提示。pyecharts適合做交付但我不建議把全部圖表都交給它。散點(diǎn)圖和直方圖用pyecharts配置成本高matplotlib兩行就畫(huà)完要做可視化大屏?xí)r再把這幾個(gè)HTML用Page對(duì)象組合起來(lái)一個(gè)頁(yè)面放四五個(gè)圖切換tab就能看不同維度。順序很重要用matplotlib驗(yàn)證結(jié)論用pyecharts包裝展示不要反著來(lái)。6. 驗(yàn)證與進(jìn)階把一次性腳本變成可復(fù)用的數(shù)據(jù)管道6.1 用自檢腳本對(duì)全流程做斷言長(zhǎng)度、唯一性、空值與范圍校驗(yàn)分析跑完不等于項(xiàng)目完工。我見(jiàn)過(guò)太多案例前一天清洗邏輯改了一個(gè)正則第二天重新生成圖表時(shí)少了5條數(shù)據(jù)沒(méi)人發(fā)現(xiàn)。給這個(gè)項(xiàng)目加一個(gè)自檢函數(shù)成本很低但能擋住大部分回歸問(wèn)題。def validate(df: pd.DataFrame) - None: assert len(df) 250, f行數(shù)異常: {len(df)} assert df[rank].is_unique, rank列存在重復(fù) assert df[rating].between(8.0, 10.0).all(), 評(píng)分超出合理范圍 assert df[year].between(1930, 2030).all(), 年份超出合理范圍 missing df[[rating, year, title]].isna().sum().sum() assert missing 0, f關(guān)鍵字段存在空值: {missing} print(自檢通過(guò): 250條數(shù)據(jù)完整字段無(wú)異常)邏輯說(shuō)明自檢腳本只驗(yàn)證不修改任何一項(xiàng)失敗都會(huì)讓程序中斷并報(bào)出具體原因。行數(shù)校驗(yàn)是最基本的一道閘門(mén)防的是清洗階段誤刪數(shù)據(jù)rank唯一性校驗(yàn)防的是翻頁(yè)重復(fù)或去重失敗評(píng)分和年份區(qū)間校驗(yàn)防的是正則拆錯(cuò)導(dǎo)致數(shù)據(jù)漂移。參數(shù)說(shuō)明assert后面的提示信息要具體寧可寫(xiě)成“rank列存在重復(fù)”也不要只寫(xiě)“數(shù)據(jù)異常”。between(8.0, 10.0)是左閉右閉豆瓣Top250的最低分是8.2不會(huì)誤傷。關(guān)鍵空值校驗(yàn)只查參與分析的列不查quote這類可有可無(wú)的字段這個(gè)設(shè)計(jì)跟第四章提到的空值坑呼應(yīng)上了。6.2 增量更新與自動(dòng)化從“跑一次”到“每周跑一次”如果這個(gè)項(xiàng)目只是跑一次出幾張圖那源碼組織成什么樣都無(wú)所謂但如果打算持續(xù)跟進(jìn)榜單變化就需要考慮增量更新。常見(jiàn)做法是給爬蟲(chóng)腳本加一個(gè)force參數(shù)默認(rèn)讀緩存和已有CSV需要強(qiáng)制刷新時(shí)加上--force重新請(qǐng)求所有頁(yè)面并覆蓋CSV。我個(gè)人現(xiàn)在的習(xí)慣是清洗邏輯每改一次就順手把自檢函數(shù)跑一遍再?zèng)Q定要不要重新爬取。這個(gè)項(xiàng)目規(guī)模小不追求自動(dòng)化調(diào)度但把“自檢 緩存 參數(shù)化”這三個(gè)意識(shí)養(yǎng)成習(xí)慣后面接任何數(shù)據(jù)源都能復(fù)用這套骨架。我的項(xiàng)目文檔里會(huì)寫(xiě)清楚三件事環(huán)境依賴怎么裝、腳本按什么順序運(yùn)行、哪些字段是清洗后新增的派生字段。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产高清免费不卡av| 蜜臀久久99精品久久久电影| 成年女人18级毛片毛片免费观看| 一区二区三区免费视频入口| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 亚洲毛片基地专区| 美女视频尤物网在线看| 亚洲综合在线第一页| 国产亚洲精品一区二区三区| 天堂岛av| 欧美性爱中文字幕无线码| 婷婷久久久精品| 色综合V| 国产一区二区a毛片| 亚洲AV免费在线| 乱性AV| 欧美91网站| 亚洲色吧网| 91c色| aaa亚无码专区| 人妻91少妇| 国产精品粉嫩福利在线| 无码人妻精品一区二区三区九九 | 992视频一区| 午夜福利区| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 99热这里只有精品9| AV网站高清无码在线观看| 黄色无码高清黄色无码网站| 快灬快灬 一下爽蜜桃在线观看| 欧美大片天天看| 欧美综合自拍成人自拍第二十页| 婷婷五月色| 亚洲超碰AV| 黑人无码一区二区| 色999;丁香五月| 天天干一区二区| 91精品久久久久久77777| 性色av蜜臀av色欲aV| 色黄污美女啪啪啪免费网站| 日小BB小视频| 国产中文大片资源中文字幕| 青娱乐日韩无码| 国产AV精久久| 欧亚性爱啪啪| 久久艹逼视频| 开心激情站| 97超碰国产精品| 一区 欧美 日韩 麻豆| 男人的天堂色偷偷青青草视频婷婷网| 日韩黄色小说| 人人操欧美风骚| 无码不卡亚洲成?人片| 色网站导航大全| 亚洲欧洲自拍图片专区满春格| 97干在线| 成人av性爱电影在线观看| 久草精品一区| 成年人黄色小视频网站| 精品久操| 狠狠色狠狠色狠狠五月| 啊啊啊好爽快点啊啊啊嗯嗯| 97爱亚洲综合色| 和协影院中文字幕三区| 99久久9| 久久一区二区加油站| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚州色图狠狠干| 少妇69中文| 中字一区| 日韩欧美亚洲自拍偷拍| 精品超碰国产| 粘花网06av视频| 无码高清操逼网址| 日韩成人大片在线观看| 伊人97色天使| 伊人97| 国产精品高潮呻吟av久久4虎| 国语国产操逼伊人AV网| 久7色| 97就爱干| 日本成熟少妇A∨网站| 欧美色视频在线| 国内精品伊人久久久久影院会| 久久9 9 9精品| 神马久久免费电影观看| 在线综合 亚洲 欧美中文字幕| 黄片无码在线制服| 中文字幕加勒比海高清无码免费视频 | 日韩无码服务区| 人妻无一区二区三区| 欧美一级做a爰片免费视频| 偷拍欧美激情| 日天天九九天堂666| 亚洲av国产av综合av卡| 亚洲另类久操网| 综合五月天| 激情国产乱伦Av| 午夜精品一区二区三区三上悠亚| 亚洲加勒比色图| 欧美日韩国产一区二区小黄片大全| 欧美性爱日韩性爱| 国产少妇高潮| 99视频这有这里有精品| 天天综合香 ld视频| 91精品导航| 婷婷午夜成人色中色| 大香久久| 一区二区偷拍拍视频| 97国产综合欧美| 欧美黄片免费在线观看视频| 曰韩香蕉97| 韩国三级一线观看久| 欧美精品四区| 国产综合久久久麻桃个| 亚洲午夜av| 玖色av| 99碰碰| 亚洲第一精品在线视频| 欧美色日本| 日本一级特级毛片视频| 日韩欧美麻豆大片| 97欧美超碰| 久久九七| 最新三级网址| 欧美日日人人天天| 亚洲九区| 日本淫乱女一区二区三区视频| 国产伦精品一区二区三区视频女| 不卡在线观看视频| 99啪啪视频| 欧美亚洲素人制服精品| AV色五月天| 在线观看日韩av不卡| 人妻熟女一区二区| AAA久久| 男人的天堂kva| 欧美夜夜狠| 亚洲阿v天堂在线| 亚州成人A√| 色天使亚洲综合在线观看| 精品久久九| www色日本| 国产精品一区二区三区免费视频| 亚洲熟妇无码一区二区三区| 高清成年美女黄网站免费大全| 亚洲日韩久久精品一区| 丁香九月婷婷| 99久久无码| 天天天乱色综合全| 久久久久久久久久8888| 五月天我淫我色av| 99热这里只有精品1| 大香蕉丝袜一级片| 国产婷婷综合在线观看| 999热日韩精品| 青青草日本无码| 俄罗斯一区二区视频在线观看| 青青草日韩免费观看高清在线| 色999亚洲人成色| 91丝袜美女视频| 超碰中文字幕人妻草一区| 可以在线观看AV的网站| 97狠狠| 99只有精品| 亚洲操操| 3D污黄视频在线观看| 人人妻人人澡人人爽人人精品浪潮| 黄总AV色图| 国产激情视频在线观看| 欧美aa一级片| 国产在线播放成人免费| av2014 日韩在线中文字幕| 人人澡人人爽人人精品| 1024日韩| 日韩一级欧美一级在线观看| 成人a v在线播放免费| 破处bbq| 99精品网站| 97jingpin| 骚货| 色综合99| 免费啪啪啪网站18岁| 无码免费在线观看黄色片| 啪啪啪男女亚洲中文字幕99| 裸体美女久久久| 色999人与兽| 国产美女高潮叫床视频| 国产极品精品美女视频| 黑人综合网| 夜夜免费视频| 久久成人东京热人妻| 在线黄色污污网站| 九九九九日本| 国产白领连续中出在线观看| 午夜呻吟欧美| 偷拍综合亚洲| 蜜桃传媒视频第一区入口在线看| 青青伊人加勒比海| 精品丰满熟妇人妻一区| 欧美色图97| 青青草色情网站视频| 青青草日本无码| 99热色精品| 黄片在线免费在线观看| 色五月激情综合网| 五月婷婷色| 丁香六月啪| 亚洲色诱惑| 天天干天天狼在线视频| 国产按摩一区二区三区| 91蜜臀熟女| 99re视频在线观看这里只有精品| 精品少妇一区二区三区在线视频| 激情专区综合| 人妻久久久久久| 九九久久九九久久| 老熟女区| 操老熟女AV| 超碰在线综合97| 91劲爆| 欧美日韩妖精91com| 99最新日韩偷拍视频| 人妻少妇无码| 久久丁香久草综合网| 1人人看人人摸人人操| 天天搞在线综合网| 人人透人人操| 久草视频制服诱惑| 欧美日韩人妻婷婷一区| 美女9118禁| 国产99999| 欧美性爱第一页久久| 黄片国产精品一区二区| 亚洲精品美女久久久久久久久| 亚洲色诱惑| 97久精品| 超碰免费欧美7| 老鸭窝在线视频播放| 丝袜足交视频| 色yeye成人免费视频| 97久久超碰| 91色噜噜狠狠| 另类老少妇| 日本操逼视频免费| 日本欧美国内在线| 少妇内射www在线观看视频| 日韩一级二级三级免费看完整版国语版 | www.色99| 97超碰热线| 91视频女生| 亚洲性网| 日本午夜福利影院| 天天摸夜夜摸| 极品色综合| 另类小说综合网| 婷婷久久网| 日本不卡三级网在线播放| 91丝袜美腿片| 性天堂| 欧美性爱五月天| 一区 欧美 日韩 麻豆| 亚洲欧美变态| 91九色蝌蚪在线观看| 五月丁香网站| 日本三级韩国三级美三级91| 中文字幕美女91| 99爱精品| 夜夜春夜夜操| 欧美成人AⅤ大片在线观看| 超碰97起碰| AV色五月天| 高清无码久操视频| 免费视频无码| 亚洲九九视频| 99久久网站| 99re在线精品78| 日本精品网站在线中文| 亚洲天堂女优在线| 欧美超碰在线| 综合熟女| 91老司机精品| 少妇滛荡视频| 亚洲精品蜜桃久久久| 亚洲日韩美国人妻| 少妇内射www在线观看视频| 91五十路| 2001天天操| 欧美激情 一区| 伊人久久大香大香线蕉中文| 精品一二三区四视频| 日韩啊V| 亚洲一区二区中文字幕| 26uuu国产免费观看| 日本九九久久99| 密乳AV免费观看| 91麻豆天美国产| 国产一级高清免费观看| 人人摸人人干| 成全在线观看免费观看| h色99999| 欧美黄片欧美黄片xxx| 婷婷五月天无码| 色欲无码人妻日韩欧美精品| daxiangjiao你懂的| 亚洲最新中文字幕免费| 夜夜免费视频| 91精品久久综合熟女| 黄页网站成人免费| 97超碰色五月| 又大又长又粗又爽又黄| 足交视频老司机| 乱伦3P视频| 亚洲,欧美,综合网| 熟女人妻av在线资源,黄色的资源| 欧美亚洲系列| 国产精品情侣啪啪| 啪啪资源网| 中文字幕av一区二区三区人妻少妇| 亚洲AV无码久久久国产精品 | 久久草大香蕉| 欧美欧美啪啪视频| 欧美性天天影院| 国产一级黄色片在线观看| 黄站在线免费观看| 91N欧美| 九九视频黄色片| 99色骚| 91日韩在线| 国产 日韩 欧美一区| 白丝少妇一区二区| 一区二区三区机械有限公司| 亚洲黄色视频在线观看视频| 热热色AV| 91爱做| 五月丁香啪啪网| 久操91视频| 香蕉大久久久| 97免费视频网| 天天操夜夜操| 丝袜美腿制服人妻二区中文字幕 | 亚洲熟女性高潮久久久| 九九人妻| 亚洲黄色电影| 日人妻视频91| 亚洲AV无码乱码| 香蕉免费一区二区三区不读 | 户外裸露刺激视频第一区| 啊啊啊骚| 狠狠干妹子| 97青青操视频| 99视频只有精品| 亚洲 自拍偷拍 欧美| 丝袜AV一区二区三区| 成人熟女区| 天天影视色香色欲| 欧美十八禁在线看| 爱av免费| 操逼片中文| 欧美有码激情视频一区二区三区| 91伊人久| 中文字幕丰满人妻日本| 欧美九九九| 久久超碰av在线| 老熟女熟妇| 999在线电影香蕉| 日韩精品亚洲专区在线影视| 操逼大黄片| 风月影院十八禁| 98久久超碰| 亚洲文学偷乱拍啪啪啪啪 | 国内精品嫩模A∨私拍小视频| 日本高清一本二本免费不卡| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美拳交在线播放| 91无码中出人妻视频| 一区二区视频在线播放| 乱论91| 欧美高清无码免费视频高清版| 夜夜黄| 97超碰影音| 天天综合,91入口| 亚精品无码毛片一区二区三区| 欧美熟妇精品黑人巨大一二三区| 色香色香欲天天天影视综合网| 超碰AV在线| 国产精品国产拍高清AV| 9色在线| 五月丁香| 97超碰69| 国产精品网站免费| 激情四射婷婷六月天| 成人欧美日超碰| 色眯眯av| 亚洲人妻爽爽爽| 蜜臀视频网站| 肥臀熟女福利视频一区二区| 精品国产网站| 啊啊啊啊啊啊好湿好爽视频| 精品一国2| 国产精品密臀网在线观看| 欧美乱妇狂野欧美在线视频| 久久九操在线观看| 精品国产乱码久久久影院| 一本大道青青| 国产精品九九九| 国产精品视频91久久| 日韩无码a片| 国产a级午夜毛片| 91久久久久久| 蜜臀久久久国产| av草草在线电影| 九九九九9999| 亚洲一区二区久久久久| 国内毛片免费h片在线| 99这里有精品| 啊啊啊不要嗯嗯在线观看| 老鸭窝成人| 草草电影院| 日韩国产乱子伦App| www.色婷婷| 综合网久久| 欧美日韩国产精品久久色婷婷| 人人妻人人澡人人爽久久av| 性爱视频无打码在线观看| 乱伦日本色图AⅤ| 内射白嫩美女| 中文字幕青青草| 亚洲av无码国产精品字幕| 一区二区三区免费岛国片| 国产11页| 亚洲加勒比色图| 人人搞人人插人人操| 午夜精品探花| 欧美日韩国产电影| 欧美综合另类| 91|九色|国产熟女| 啊啊啊啊啊啊啊网址在线观看| 久久超碰日韩精品| 色香色欲天天综合网天天来吧 | 亚洲精美粉嫩嫩泬在线观看| A V少妇特黄三级| 色综合20p| 超碰日韩人妻| 人妻久久久| 舔舔啊| 久久精品国产亚洲妲己影视| 狠狠干综合| 啊啊啊啊啊好舒服视频| 国产精品嫩草影院午夜两性 | 97情超碰色| 久久性生大片免费观看性| 性做久久久久久免费观看软件| 男人天堂久久日韩| 国产美女在线精品免费看| www.婷婷五月天| 啊啊啊 在线| 亚洲精品第一| 天天干1区2区在线| 久久久免费的精品| 茄子社区国产精品| 国产 日韩 另类 视频一区爱| 青青草啪啪网| 无码精品久久| 麻豆精品天美| 亚洲AV无码AV吞精久久久久| 91美女視頻| 人干人人人操人人摸| 96免费视频在线| 人人干人人操人人爱| 成年男人的天堂| 尤物网站91| 欧美亚男人的天堂| 国产精品原创巨作?v网站| 色九月综合| 九九精品无码专区免费| 久久夜夜夜| 91艹B视频| 亚洲人妻久久久| 秋霞曰韩R级| 草B在线| 亚洲成人av色网| 网友自拍第一页| 日韩AV色图| 国产成人精品必看| 日韩欧美蜜桃精品久久中文字幕久久 | 九九精品无码专区免费| 精品中文日韩字幕视频| 性爱乱伦网址| 综合久久99| 欧美日韩在线小说| 极品少妇99| 家庭乱伦性爱av| AV天堂因数| 九九热免费国产视频婷婷伊人五月 | 久久超碰网| 一区 欧美 日韩 麻豆| 亚洲精品尤物yw在线影院| 美女91av| 久99久视频精选| 日韩中文字幕精品一区在线| 日本精品加勒比海一区| 人妻插插人妻人| 中文字幕aⅴ在线视频| 玖玖爱视频网站| 97高清啪啪| 欧美劲爆视频一区二区| 久久大| 久久精品高清无码一区| 啊啊啊操一区| 日逼国产| 日本熟女不卡视频| 中韩中文字幕在线观看| 你草精品在线视频| 亚洲激情综合| 午夜福利在线合集| 国产精品人妻无码久久久老鸭窝| 激情综合网一盗摄| 欧洲Au麻豆| 91色久| 岛国免费黄色网址| 97色网| 欧美色图在线视频少妇| 操人妻逼91| 九九色图| 亚洲精品亚洲人成在线麻豆| 97超碰磁| 亚洲在线欧美| 91情色在线| 亚洲怡春院| 午夜精品久久久久久久99热影院| 99精品在线| 国产欧美亚洲精品a第2页| 亚洲一区日韩精品中文字幕| 97se亚洲综合自| 91网站在线播放| 国产乱码精品久久久久久| 猛交交| 亚洲操人| 一块操欧美性爱| 中国国产精品一区视频| 精品亚洲一区在线观看| WWW.操逼.COM| 久久AV无码AV| 91无遮挡| 亚洲国产丝袜熟女av| 精品1区2区3区| 亚洲熟妇白浆无码AV| 亚洲宗合网| 中文字幕AV片| 欧美日韩亚洲五月天婷婷| 日韩人妻网站| 男人 天堂 日 亚洲| 久久夜色一区二区| 99re只有精品| 亚洲美女 晚间男人天堂 | 欧美日韩1234| 97爱| 久9re热视频这里只有精品| 啊啊啊啊好爽好舒服一区二区易域| 欧美97网| 人妻精品一区二区| 人妻少妇久久中文字幕一区二区 麻豆| 亚洲丝袜少妇在线| 男人天堂网址| 91AV入口| 免费超碰97在线观看| 日韩人妻一二三区视频| 无码高清专| 无码视频黄色网战| 99爱视频| 中文乱码99| 亚洲天堂人人妻| 免费草草草草草视频| 日韩丨制服丨中文|在线| 亚洲日韩狠狠撸视频| 后入国产| 中国AV美女| 美女国产一区二区久久| 五月激情在线| 成人熟女视频一区二区三区| 青青草字幕AV| 怡春院久久| 91精品人| 啪一啪免费视频| 色999亚洲人成色| 嗯~啊~快点 死我视频| www.AV有限公司一区| 日本 情色 1区2区3区| 不卡视频一区蜜桃视频| 精品国产无码中文| 蜜桃无码AV一区二区| 欧美综合站| 午夜后入| 97免费在线观看视频| 午夜福利1区2区3区| 全球成人中文在线| 麻豆国产av网| 久久久久久99999国产精品| 天天干嫩逼网| 91爆操视频| 人妻天天爽夜夜爽爽| B049AV在线播放| 欧美熟妇精品黑人巨大91| 岛国A V在线免费看| 日韩午夜啪啪视频| 今日头条成人一区二区三区四虎精品| 伊人网在线点播| 亚洲国产精品99久久久| 久久一二三四五六七八九区区区 | 亚洲精品欧洲色| 欧美αv.com| 亚洲色偷偷色噜噜狠狠99网| 五月天亚洲网| 欧美亚洲素人制服精品| 精品国产一区二区三区av在线资源| 大香蕉欧美国产日韩高潮| 啊啊啊啊好爽好舒服一区二区易域| 中文字幕一区二区三区高清| 九九视品黄色| 天天躁日日躁狠狠狠躁| 午夜寂寞欧美| 91欧美另类| 人妻另类 专区 欧美 制服| www.91久久| 亚州大图综合色图| 国产黄色小视频网站| 九九热免费国产视频婷婷伊人五月| 亚洲交换| 日本日皮视频逼| 性交一区二区在线播放| 宅男影院久久久,99| 国产夜夜艹| 97色97干| 亚洲天堂女优在线| 日韩无限资源| 中文字幕老熟妇黄色视频| 淫纸中9区| 久久久久国产无av| 91激情国产| 人人射人人操人人摸| 欧美论理片| 人人贴人人摸| 亚州 综合 色图| 一区二区精品日韩欧美在线观看| 艾草av| 国产日韩精品suv| 97人人中文网| 呦呦影院| 亚洲成人色情五月天丁香花| 先锋激情∨在线视频播放| 色九九九九| 第四色奇米影视777| 亚洲棕合电彰| 操逼片国产| 午夜福利在线合集| 激情五月天丁香社区| 91天堂丝袜美腿| 九九色精品| 九九草| 97亚洲综合电影| 思思热在线视频免费| 日本精品免费一区二区三区四区| 日韩精品在线视频在线观看| 少妇色综合| 大色综合网| 高精欧美色| 精品久操| 久操高青| 欧美一级国产一级| 人妻少妇无码| 久久这里都是精品| 亚洲激情综合另类男同| 超碰是碰在线观看| 五月婷婷六月丁香| 最近2018中文字幕在线高清第一页| 色大师网站www永久网站视频| 福利伊人玖玖国产| 亚洲天堂资源在线| 在线视频五十市| 亚洲国产成人精品无码专区| 久久九九97| 五月婷婷hd| aⅴ日韩成人电影av在线免费看av大全| 日日骚网站| 九月AV| 1769精品一区二区三区| 久久久久九九九| 精品一二三区女同| 猛交交| 国产精品宅男免费| 91综合色| 亚洲素人综合| 久久亚洲天天做| 成人国产精品三级A片| 亚洲一区日韩精品中文字幕| 夜夜国自区| 午夜福利久久久噜久噜久久综合| av无码精品久久久久| 国产精品操| 狠狠操狠狠燥| 丝袜视频一区二区在线播放国产中文| 中文字幕一区日韩精| 人人 操人人 操人人| 麻豆91熟妇人妻中文字幕茄子| 九九九久久久久| 麻豆天美国美国产| 久久香蕉国产线看观看猫咪av | 欧美页片| 日本熟妇熟色97一本在线观看| 福利色色| 很黄很色的视频在线观看| 啊啊啊啊好爽好舒服一区二区易域| 射丝袜大香蕉| 五月天色电影| 性色avv| 中出91| www久久99| 激情视屏国产乱伦强奸| 国产AV色黄看到爽| 日语五十路和六十路亚洲国产精品| 麻豆色约约| 夜色97| 午夜无码熟妇丰满人妻| 天天舔九色婷婷| 男人下部插入女人下部| 国产按摩一区二区三区| 美女自卫慰黄网站免费| 女人午夜视频777| 国产精品色片一区二区| 91深夜夜| 香蕉久久AⅤ...| 超碰国产精品无码| 国产精品爱欲| 日韩性爱视频在线免费观看| 无码操逼视频一下| 日本操逼视频不卡直接放| 久久久久久网址| 丁香婷婷五月| 国产综合日韩伦理| 亚洲av无码成电影在线播放| 三级日本一区二区三区| 玖玖爱在线视频免费观看| 家庭乱伦麻豆| 蜜臀AV秘一区翔田千里| 免费少妇一区二区| 在线观看成人性爱免费小视频| 亚洲成人性| 天堂中文日本在线观看| 久久精品店| 一区二区三区欧美激情| 婷婷色网| 97干com| 9久久美女首页| 天综合网欧美| 亚洲狠狠入| 91爱网| 午夜亚洲WWW湿好大| 日韩欧美大力操| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 日韩视频啪啪| 国产毛片精品一区二区色欲黄A片| 日本 欧美 亚中文字幕| 快点操死我| 久久久111| 福利天天都操| 综合色好色| 澳门黄片一香蕉视频| av天堂天堂av日韩| 婷婷五月天成人| 美女露胸露奶头| 亚洲欧洲日本精品中文a∨| 欧美日韩不卡a片| 国模吧 一区二区三区| 中文字幕精品一区二区精品| 久久97资源 网| 国产精品一区二区麻豆| 男人的天堂2019| 很黄很色的视频在线观看| 欧美色综合影院| 一牛影视久久久一区二区三区| 熟女一区二区三区| 青草地一本线一区二区三区| 欧美一区二区一级岛国大片| 中文字幕av亚洲在线| 又黄又爽在线观看视频| 欧美91精彩| 操人妻视频| 欧美日韩国产中文精品字幕自在自线| 99热官网| 偷拍2020| A片大香蕉在线| 五月天色图| 亚洲污一污二| 日韩猛交| 爱av免费| 人妻熟女一区二区三区在线| 欧中美三级一区二区三区| 国产大陆天天艹| 95精品在线| 久久久内射良家| 人妻无一区二区三区| 三级三久久线久久99久目本WW| 麻豆人妻少妇在线免费观看| 综合色91| 高清无码国产亚洲| 久久伦理视频久久大香蕉视频| 99999精品| 欧美做爰无码A片视频| 久久久久ab| 亚洲色图综合| 日本免费中文一区二区三区四区| 91熟女.com| 操逼免费视频无码国产| 精彩视频日韩| 亚洲影视综合| 99啪啪视频| 97欧美色| 亚洲无码AV九九九| 无码久| 思思热免费在线视频| 精彩国产视频播放1区2区| 97超碰中文在线| 欧美国产日韩清纯唯美| 深爱伊人影院| www.色99| 欧美狠狠狠| 秋霞一级视频在线观看免费| 2019亚洲男人天堂| A V视频日本| 国产精品电影推荐| 成人av影院在线观看| 色999偷自拍拍| 人人干人人操人人爱| 亚洲日本男人天堂网| 91精片| 九九九午夜| 亚洲码在线中文在线观看| 亚洲熟妇丝袜在线观看| 国产精品成久久久久午夜午夜| 国产suv精品一区二区四| 国产一国产一级毛片古装| 91大胆欧美| 91色综合| 91天美传媒精品| 人人操人人插人www| 国产一区二区久久| 强奸乱伦av电影| 久夜操| 性色avv| 国产三级在线现体验区| 少妇色综合| 国产精品香蕉热久久新品| 四虎影视国产精品| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 丁香五月色情| 欧美综合另类| 激情综合av| AV无码久久久精品| 精品亚洲天堂| 夜夜嗷嗷一区二区| 亚洲强奸乱伦影视网| 亚洲欧洲日韩中文字幕一区| 大香蕉97久久| 国产不良强奸视频免费看| 欧美激情久久久久| 五月丁香婷婷色| 日本韩高清无砖码22o| 一牛一区二区三区久久| 日韩精品在线观看网站| 欧美有码亚洲中文字幕一区二区三区四区| 国产在线强奸视频| 91Chinese在线| 97超碰色情| 一区二区三区日韩欧美| 亚洲成人日韩小说| 国产精选视频| 97色爱| 精品v日韩欧美国产| 国色综合天| 欧美日韩亚洲天堂网| 日韩AV熟女乱伦| 69国产对白刺激| 男女性扦B| 青娱乐亚洲热| 日本护士高潮| 日韩精品在线放| 中文字幕青青草| 日韩中文字幕av在线播放| 久久性爱城| 日韩精品色呦呦| 天堂成人网| 天天操天天7| 精品国产网站| 丁香五月天激情| 6080YYY午夜理论片在线观看| 97鸡把在线视频| 亚洲有码第一页| 99热免费| 二色av| 天天搞在线综合网| 超碰精品日韩欧美国产| 99热婷婷一区二区三| 操逼999| 密臀在线免费观看| 另类图片五月天| HEYZO高无码国产精品227| 免费福利视频中文字幕| 国产91 丝袜在线播放00-百度| 久久久久久裸体| 99国产精品久久久在线播放| 精品国产乱码久久久久久久久1 | 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 东京热天堂网| 99在线精品观看视频中文| 精品久久大胆人体| 亚洲精品欧美专业| 偷窥自拍亚洲色图| 黄污污污污| 欧美国产日韩高清在线| 另类 日韩 熟女| 日日日日做夜夜夜夜无码| 91久久久亚洲| 屁股久久久久久久| 91综合熟女| 啊啊啊啊啊啊在线| 天天天干977| 亚洲中文sv| 尤物视频新赏网鲜网色诱网| 91精品国产乱码| 中文字幕视频免费| 大香蕉琪琪日本女优不卡| 午夜福利区| 欧美国产视频| 亚洲自拍一区夜夜操| 欧美97日韩| 中文字幕88av在线| 超碰中文字幕人妻草一区| 日本精品免费一区二区三区四区| 亚洲欧美爆| 宗合情欲网| 亚洲区限制级| 色妇91| 婷婷九月国产| 精品久久久一本一道| 亚洲精品 欧美97色色| 久久9久久| 酒色综合网| 亚洲国产美女久久久久 | 好舒服视频| 日韩中文9| 哈哈操 大香蕉| 色臀AV| 国产自制av蜜乳| 国产成人自拍视频视频| 三级色综合| 欧美人人AAA| 992这里有精品| 欧美色图亚洲色图成人在在线| 精品免费1| 好舒服视频| 免费视频观看60秒| 91肉片| 性在久久久久久| 亚洲欧美经典一区二区 | 国产无码精品久久久久久| 18啪啪手机免费性爱| 日韩不卡a级视频专区| 男人的天堂不卡一区二区| 国产怡红院| www. 男人天堂成人在线| 青娱乐黄色录像| av爱爱爱| 日本中文字幕在线视频 | 欧美一区二区三区不卡高清视频| a一区二区三区乱码在线| 丁香婷婷九月| 国产无遮挡| 91九色丰满高潮| 日韩欧美日韩| 女人喷水视频在线观看| 长长久久曰曰夜夜成人网| 欧美人妻色| 麻豆av一区二区| 亚洲囯产精品女人久久久| 精品人妻一区二区三区四区| 日韩无码极品| 国产精品久久久久综合| 色好看av| 东京热,男人的天堂| 亚洲欧美精品国产一区二区| 色色婷婷五月天| 亚洲限制级| 好爽视频在线观看视频| 亚洲第2页| 成人老鸭窝人人在线视频| 97欧美色| 2019久久久久久久久福利| 韩国久久97| 欧美黑人日韩少妇色情| AV在线性爱| 色穴精品| 国产在线激情| 51一区二区三区| 在线天堂999| 精品人妻一区二区三区不卡断 | 午夜欧美J进J出白浆流出久久久| 加勒比99999| 欧美一区二区观看在线| 久久男人网| 最新亚洲黄色免费电影| 97色色婷婷| 丰满丝袜少妇AV| 欧美1区二区三区公司| 91人妻超碰| 人妻一区二区三区熟女| 妺妺跟我一起洗澡没忍住| 久久99精品九九久久久婷婷| 日韩成人性日韩成人性爱视频在线免费观看 | 思思热久久成人| 成人老鸭窝人人在线视频| 男人的天堂va在线| 婷婷六月色| 亚洲图片视频小说| 亚洲日韩成人性爱视频| 亚洲综合大片| 美中日韩无码| 青青草久久| 国产一级作爱毛片| 日日骚精品视频| 丰满人妻一区二区三区四区| 91撸色网 玖玖网 欧美| 熟女乱3伦999| 操我啊啊啊啊啊| 色吧5亚洲| 精爱久久| 色在线综合| 人人污日韩一区二区| 亚洲人妻中文在线视频| 中文字幕55555| 被男人吃奶很爽的毛片| 99re69综合| 欧美亚洲第一页| 久久伊人青青草| 成人日韩3| 乱子伦一区二区三区国产精品| 日本天天操| 高清孕妇孕交 交孕妇| 91精品黄在线观看| 黄页av| 区一在线观看| 天天干天天燥| 曰韩香蕉97| 色欲天天综合网| 97久久国产| 久久9精品视频| 午夜福利1区2区3区| 欧美亚洲日韩16色| 入口操逼网站| 9丨久久九九九| 超碰国产情侣自拍网| 国产一区二区三三视频| 懂色av中文字幕一区二区三区天美| 日韩一级欧美一级在线观看| 91精品久久久久| 偷拍 精品 另类 四区| 老外又粗又长一晚做五次| 亚洲的天堂网| 亚洲五月天激情| 91人妻人人澡人人爽人人精品| 天天α片| 丁香五月天激情网站| 男人天堂欧美| 97伪v| 97人人操人人干| 啪啪性爱免费视频| 夜夜做夜夜爽精品视频| 91neishe| 国产精品久久久无码AV网站| 亚洲无码一区成人免费午夜| 亚洲AV无码| 囯产操逼片| 国产成人亚洲精品无| 亚洲一区亚洲天堂| 啊啊啊不要好疼视频| 嫩呦国产一区二区三区AV| 中文字幕熟女人妻丝袜丝| 图色综合网| 大香蕉综合在线| 久久久99免费| 欧美成人精品欧美一级乱黄一区二…| 中文字幕55555| 99啪啪视频| 蜜乳Av成人片网站| 欧美天天干| 五月天亚洲网| 国产嫩草精品A88AV在线| 丁香色五月 97干| 日本性爰一道本| 精品人妻一区二区三区日产| 国产 大胆 对白| 欧亚洲精品有视频| 26uuu国产免费观看| 伊人操你| 色综合91好| 国产AV天美传媒一区二区三区 | 我想要 啊 啊 啊| 成人精品欧洲亚洲| 夜夜狼人妻| 亚洲精品男人的天堂| 探花在线免费观看视频国产一区| 91狠狠综合| 蜜臀Av一区二区三区| 亚洲的天堂网| 美女裸体麻豆天美蜜桃91| 青青草操逼逼视频| 日韩免费性爱视频在线观看| A 在线网址| 69av一区二区三区| 91色香| 一区二区三区看视频| 亚洲精品久久久久久| 99re99视频在线免费观看| 亚洲一二三精品久久网| 920日本午夜免费| 99热最新| 无码自拍SM| 视频分类 国内精品| 亚洲成a人片在线观看中文!!! | 国产精品久久久久久9999| 久久久久久久久久黄色网| 男人天堂站| 怡红院怡春院| 啪啪视频mP4| 97AV爱| 999日韩中文精品观看视频。| 亚洲欧美精品一区天堂久久| 欧美操人| 五月天激情小说网| 九九久久精品| 亚洲无码99| 碰碰在线视频| 中文字幕啊啊啊在线观看视频| 天天做天天爱| 男人的天堂2019AV| 日韩美一区| 日韩欧亚太美不卡| 97天天综合网| 色天堂综合| 午夜综合在线| 欧美色图97| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 黄色小视频日本txt| 无码高清专| 在线国产一区二区av| 欧美一区二区三区日韩| 中文字幕 国产区| 人人摸人人干| 国产性刺激| 九九九九九九九九九九精品视频|