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

ARTICLE DETAIL

資訊詳情

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

豆瓣電影詳情頁(yè)爬蟲實(shí)戰(zhàn):requests+BeautifulSoup精準(zhǔn)提取元數(shù)據(jù)

豆瓣電影詳情頁(yè)爬蟲實(shí)戰(zhàn):requests+BeautifulSoup精準(zhǔn)提取元數(shù)據(jù) 前陣子要做個(gè)小型的電影觀察分析缺一批影片的片名、導(dǎo)演、主演、評(píng)分、上映日期、片長(zhǎng)、劇情簡(jiǎn)介這類元數(shù)據(jù)。我一開始想的是手動(dòng)復(fù)制結(jié)果整理了十幾部就受不了了——豆瓣詳情頁(yè)的信息密度高一條影片條目要來(lái)回滾動(dòng)好幾次才能把需要的東西抄完太浪費(fèi)時(shí)間。后來(lái)干脆寫了個(gè) Python 爬蟲把那段時(shí)間要用的詳情頁(yè)元數(shù)據(jù)一次性抓下來(lái)并按 CSV 落盤。這篇文章就是我那套寫法的完整復(fù)盤從頁(yè)面結(jié)構(gòu)分析到請(qǐng)求偽裝從字段精準(zhǔn)提取到 CSV 導(dǎo)出方案再到跑批時(shí)實(shí)際踩過的幾個(gè)坑全部梳理出來(lái)。適合剛學(xué)完 requests 和 BeautifulSoup、想拿真實(shí)網(wǎng)站練手的同學(xué)也適合已經(jīng)能從列表頁(yè)抓到數(shù)據(jù)、但一進(jìn)詳情頁(yè)就各種缺字段的老哥。1. 先摸清目標(biāo)豆瓣詳情頁(yè)的元數(shù)據(jù)到底藏在哪寫爬蟲最忌諱一上來(lái)就寫代碼先把頁(yè)面“解剖”清楚后面的提取邏輯基本是水到渠成的事。我這次的目標(biāo)是詳情頁(yè)元數(shù)據(jù)所以第一步要搞明白詳情頁(yè)和列表頁(yè)到底有什么區(qū)別哪些數(shù)據(jù)在這個(gè)頁(yè)面上能拿到它們各自以什么形式存在。1.1 從列表頁(yè)到詳情頁(yè)URL 結(jié)構(gòu)是采集的第一張地圖豆瓣電影的數(shù)據(jù)組織方式很簡(jiǎn)單。列表頁(yè)比如某個(gè)榜單解決的是“有哪些影片”的問題它返回幾十部影片的條目但每個(gè)條目里只有片名、評(píng)分、評(píng)價(jià)人數(shù)、一句話概述這類精簡(jiǎn)信息。導(dǎo)演、編劇、主演、片長(zhǎng)、劇情簡(jiǎn)介這種“深水區(qū)”數(shù)據(jù)列表頁(yè)根本不給你完整展示往往要到詳情頁(yè)才有。詳情頁(yè)的 URL 長(zhǎng)這樣https://movie.douban.com/subject/xxxx/這里的數(shù)字就是每部影片在豆瓣里的唯一編號(hào)不同影片對(duì)應(yīng)不同 ID。所以一條完整的采集鏈路是先從列表頁(yè)拿到一批影片標(biāo)題和鏈接再?gòu)逆溄又刑崛〕鲞@個(gè)數(shù)字 ID最后用 ID 拼接詳情頁(yè) URL逐個(gè)抓取元數(shù)據(jù)。這一步雖然簡(jiǎn)單但值得注意不要試圖用正則從網(wǎng)頁(yè)里扣a標(biāo)簽來(lái)拼 URL太容易拿到廣告位或隨機(jī)推薦鏈接。我習(xí)慣用 BeautifulSoup 按 CSS 選擇器去過濾比如只選擇標(biāo)題列表里的a標(biāo)簽并且用正則校驗(yàn)鏈接中必須包含/subject/和末尾的數(shù)字串。import re from urllib.parse import urljoin def extract_subject_id(link): match re.search(r/subject/(\d)/, link) return match.group(1) if match else None只有拿到干凈的 subject_id才能保證循環(huán)抓詳情頁(yè)時(shí)不會(huì)突然打到無(wú)關(guān)頁(yè)面。這個(gè)正則看著簡(jiǎn)單但在跑批量任務(wù)時(shí)能幫你過濾掉很多臟數(shù)據(jù)。1.2 詳情頁(yè)里值得抓的三塊內(nèi)容打開任意一個(gè)豆瓣詳情頁(yè)按 F12 簡(jiǎn)單瞄一眼結(jié)構(gòu)會(huì)發(fā)現(xiàn)元數(shù)據(jù)主要分布在三個(gè)區(qū)域我習(xí)慣把它們叫做“標(biāo)題區(qū)”“屬性區(qū)”“腳本區(qū)”。數(shù)據(jù)塊包含字段在頁(yè)面中的位置推薦解析方式標(biāo)題區(qū)片名、年份、導(dǎo)演、編劇、主演h1標(biāo)題、div idinfo信息欄BeautifulSoup 選擇器評(píng)分區(qū)評(píng)分、評(píng)價(jià)人數(shù)、好于百分比strong propertyv:average、評(píng)價(jià)人數(shù)標(biāo)簽屬性選擇器腳本區(qū)劇情簡(jiǎn)介、上傳日期、類型標(biāo)簽script typeapplication/ldjsonast 或 json 解析為什么要把“腳本區(qū)”單獨(dú)拿出來(lái)說(shuō)因?yàn)槎拱暝斍轫?yè)里有一段結(jié)構(gòu)化的 JSON-LD 數(shù)據(jù)里面直接寫了name、description、datePublished這種近乎齊全的元數(shù)據(jù)字段。很多教程只盯 HTML 節(jié)點(diǎn)看繞了半天才把劇情簡(jiǎn)介摳出來(lái)其實(shí)這段 JSON 里已經(jīng)有了。省事又不容易出錯(cuò)。我還是會(huì)從 HTML 節(jié)點(diǎn)里抓一部分字段因?yàn)槟承┱故驹陧?yè)面上的數(shù)據(jù)比如“好于 90% 劇情片”這種橫向?qū)Ρ饶_本里沒有只能老老實(shí)實(shí)解析節(jié)點(diǎn)。兩個(gè)來(lái)源配合使用才能做到“精準(zhǔn)采集”。2. 請(qǐng)求這關(guān)怎么過依賴選型、請(qǐng)求頭偽裝與頻率控制很多新手爬蟲被擋在第一步不是解析代碼寫得不好而是請(qǐng)求一多就被網(wǎng)站識(shí)別了。豆瓣的反爬不算狠但也絕不需要你用毫無(wú)偽裝的裸請(qǐng)求去挑戰(zhàn)它的耐心。這個(gè)環(huán)節(jié)我踩過一次有次趕數(shù)據(jù)用短時(shí)間密集請(qǐng)求連抓幾百個(gè)詳情頁(yè)結(jié)果中途連續(xù)收到好幾條“檢測(cè)到有異常請(qǐng)求”的提示頁(yè)直接把整個(gè)任務(wù)打斷。2.1 依賴安裝與解析器選型別什么都上 Scrapy先說(shuō)說(shuō)工具選型。這個(gè)任務(wù)用 requests BeautifulSoup4 lxml 就夠了沒必要上 Scrapy。Scrapy 確實(shí)強(qiáng)大但對(duì)于“批量抓一批詳情頁(yè)并導(dǎo)出 CSV”這種小體量任務(wù)它的學(xué)習(xí)曲線和調(diào)試成本是多余的。你拆成一個(gè)循環(huán)、一個(gè)解析函數(shù)幾十分鐘就能寫完出了問題也容易定位。requests 負(fù)責(zé)發(fā)請(qǐng)求、接收 HTMLBeautifulSoup4 負(fù)責(zé)結(jié)構(gòu)化解析lxml 作為背后解析器速度比 Python 標(biāo)準(zhǔn)庫(kù)的 html.parser 快不少三件套是這類輕量爬蟲的黃金組合。pip install requests beautifulsoup4 lxml有一點(diǎn)要注意BeautifulSoup 的lxml解析器需要單獨(dú)裝不能因?yàn)?bs4 裝好了就想當(dāng)然地跳過。如果不裝代碼雖然能跑但解析性能會(huì)明顯下降跑批量的時(shí)候一段一段卡頓體驗(yàn)很差。2.2 UA 偽裝與請(qǐng)求頭這幾行頭信息能保命豆瓣詳情頁(yè)對(duì)請(qǐng)求頭里的User-Agent和Accept-Language比較敏感。一個(gè)來(lái)自明顯過時(shí)瀏覽器的 UA或者一個(gè)連語(yǔ)言偏好都沒聲明的請(qǐng)求很容易觸發(fā)風(fēng)控標(biāo)記。我習(xí)慣用一句像樣的瀏覽器 UA比如下面這種headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36, Accept-Language: zh-CN,zh;q0.9,en;q0.8, Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8, Referer: https://movie.douban.com/, Connection: keep-alive }其中Accept-Language里的zh-CN很重要豆瓣詳情頁(yè)會(huì)根據(jù)這個(gè)字段決定某些頁(yè)面內(nèi)容是中文還是其他處理過的語(yǔ)言變體。少了它偶爾會(huì)碰上拿到的字段是英文的情況解析邏輯沒問題但數(shù)據(jù)就是不對(duì)勁。我自己就把這個(gè)頭加上了實(shí)測(cè)穩(wěn)定很多。請(qǐng)求頭只是第一道偽裝真正的安全牌是請(qǐng)求頻率。我習(xí)慣每抓完一個(gè)詳情頁(yè)隨機(jī)睡個(gè)2~4秒讓請(qǐng)求間隔看起來(lái)像真人瀏覽。import random import time time.sleep(random.uniform(2, 4))別小看這幾秒。爬蟲數(shù)據(jù)量小的時(shí)候無(wú)所謂一旦抓幾百個(gè)頁(yè)面這種隨機(jī)間隔比固定 3 秒更能模擬真人的節(jié)奏也降低被連續(xù)標(biāo)記的風(fēng)險(xiǎn)。2.3 單線程順序抓取為什么我勸你別上并發(fā)剛接觸爬蟲的時(shí)候我也有一個(gè)執(zhí)念覺得并發(fā)越多越快越好。后來(lái)被教訓(xùn)過幾次才明白對(duì)這種小體量詳情頁(yè)采集場(chǎng)景來(lái)說(shuō)單線程順序抓取反而是最穩(wěn)妥的方案。并發(fā)一旦上到 5 個(gè)、10 個(gè)線程請(qǐng)求頻率曲線會(huì)變得很陡。豆瓣風(fēng)控的標(biāo)記不是看你總計(jì)抓了多少頁(yè)面而是看你在一個(gè)時(shí)間窗口內(nèi)的請(qǐng)求密度。10 個(gè)線程同時(shí)跑每秒鐘可能有 5 個(gè)請(qǐng)求從同一個(gè)出口打過去哪怕加了延遲上限速度還是容易翻車。再說(shuō)了一個(gè)詳情頁(yè)的請(qǐng)求加解析也就半秒左右加上隨機(jī)延遲抓 500 部影片也就一二十分鐘的事。這個(gè)耗時(shí)完全可以接受沒必要為了省那幾分鐘去賭賬號(hào) IP 的安全。3. 精準(zhǔn)提取核心代碼拆解我在代碼里盡量把“解析頁(yè)面的邏輯”收斂到一個(gè)獨(dú)立函數(shù)里這樣頁(yè)面結(jié)構(gòu)一變只需要改這一個(gè)函數(shù)其他邏輯不用動(dòng)。這種做法在爬蟲工程化里非常重要畢竟網(wǎng)站改版完全不打招呼拆得越干凈后續(xù)維護(hù)成本越低。3.1 一個(gè)函數(shù)搞定單個(gè)詳情頁(yè)標(biāo)準(zhǔn)化輸出字典下面的函數(shù)是我在實(shí)際項(xiàng)目里整理出來(lái)的精簡(jiǎn)版輸入 HTML 文本輸出一個(gè)字段干凈的字典。每一步我都加了空值保護(hù)確保拿不到數(shù)據(jù)的字段不會(huì)讓程序崩掉。import ast import json import re import requests from bs4 import BeautifulSoup def parse_detail_html(html: str) - dict: soup BeautifulSoup(html, lxml) item {} # 標(biāo)題區(qū)h1 里通常是 片名 年份 title_node soup.select_one(h1) title_text title_node.get_text(stripTrue) if title_node else # 用空格切出片名和年份注意年份可能不存在 parts title_text.split() item[title] parts[0] if parts else item[year] parts[-1] if len(parts) 1 and parts[-1].isdigit() else # 評(píng)分區(qū) rating_node soup.select_one(strong[propertyv:average]) item[rating] rating_node.get_text(stripTrue) if rating_node else votes_node soup.select_one(span[propertyv:votes]) item[votes] votes_node.get_text(stripTrue) if votes_node else # 屬性區(qū)導(dǎo)演、編劇、主演 item[director] extract_info_field(soup, 導(dǎo)演) item[screenwriter] extract_info_field(soup, 編劇) item[actors] extract_info_field(soup, 主演) # 片長(zhǎng) runtime_node soup.select_one(span[propertyv:runtime]) item[runtime] runtime_node.get_text(stripTrue) if runtime_node else # 劇情簡(jiǎn)介從 ldjson 里優(yōu)先取 item[summary] extract_description(soup) return itemextract_info_field是我專門寫的通用提取函數(shù)思路很直觀在div#info里逐個(gè)找標(biāo)簽帶導(dǎo)演、編劇、主演字樣的span然后收集它后面直到br為止的所有兄弟節(jié)點(diǎn)文本用/連接。def extract_info_field(soup, label: str) - str: info soup.find(div, idinfo) if not info: return for span in info.find_all(span, class_pl): if label in span.get_text(stripTrue): values [] for sibling in span.find_next_siblings(): if sibling.name br: break text sibling.get_text(stripTrue) if text and text not in (更多, 更多?): values.append(text) cleaned [] for value in values: value re.sub(rnbsp;, , value) cleaned.append(value) return / .join(cleaned) return 這里有個(gè)細(xì)節(jié)容易忽略找到標(biāo)簽后它的兄弟節(jié)點(diǎn)會(huì)包含a標(biāo)簽以及一些沒有結(jié)構(gòu)意義的空白節(jié)點(diǎn)。但豆瓣屬性區(qū)里導(dǎo)演名和其他字段是嵌在a標(biāo)簽里的所以直接遍歷兄弟節(jié)點(diǎn)遇到br就停拿到所有a文本基本等于拿到了完整字段值。這個(gè)方法比一次性選div#info下所有a再按位置索引要穩(wěn)。3.2 劇情簡(jiǎn)介走 ldjsonast.literal_eval 比 json.loads 更穩(wěn)劇情簡(jiǎn)介是詳情頁(yè)里很長(zhǎng)的一段文本直接抓節(jié)點(diǎn)當(dāng)然能抓到但更省事的做法是讀取頁(yè)面上那段application/ldjson腳本。這段腳本里已經(jīng)寫好了description字段和頁(yè)面展示的劇情簡(jiǎn)介內(nèi)容一致。def extract_description(soup) - str: script soup.find(script, typeapplication/ldjson) if script and script.string: raw_text script.string.strip() try: data ast.literal_eval(raw_text) description data.get(description, ) if isinstance(description, str): return description.strip() except Exception: pass # 退路直接用頁(yè)面節(jié)點(diǎn) summary soup.select_one(span[propertyv:summary]) if summary: return summary.get_text(stripTrue) return 這里我故意用了ast.literal_eval而不是json.loads。很多人寫爬蟲看到 JSON 字段下意識(shí)用json.loads但豆瓣這個(gè)腳本里偶爾會(huì)出現(xiàn)單引號(hào)、None這類 Python 字面量的寫法嚴(yán)格來(lái)說(shuō)不是合法的 JSON。json.loads會(huì)直接拋異常而ast.literal_eval能容忍這些寫法處理起來(lái)更順手。如果數(shù)據(jù)本身就是標(biāo)準(zhǔn) JSONast.literal_eval也能正常解析所以這個(gè)小選擇總體來(lái)說(shuō)更穩(wěn)健。另外要說(shuō)的是從 HTML 節(jié)點(diǎn)提取劇情簡(jiǎn)介時(shí)務(wù)必留意stripTrue否則很容易把換行和空格粘進(jìn)摘要里。字段里帶一堆\n后續(xù)做數(shù)據(jù)分析還得二次清洗純屬自找麻煩。3.3 空值處理別讓一個(gè)壞頁(yè)面毀掉整批任務(wù)實(shí)際跑批量的時(shí)候一定會(huì)碰到某些影片頁(yè)面缺少某個(gè)字段的情況。比如個(gè)別老片沒有片長(zhǎng)、沒有評(píng)分或者年份信息異常。如果代碼一遇到None就拋異常整個(gè)循環(huán)都會(huì)中斷前面抓的數(shù)據(jù)全部白費(fèi)。我的習(xí)慣是所有字段都做了None兜底取不到就把空字符串放進(jìn)去。表面上看 CSV 里有一列是空的但這總比程序崩掉、任務(wù)中斷要好。后期的數(shù)據(jù)處理可以統(tǒng)一過濾空值根本不耽誤事。def safe_get(node): return node.get_text(stripTrue) if node else 再加上主循環(huán)里對(duì)單頁(yè)解析做異常捕獲一個(gè)頁(yè)面解析出錯(cuò)時(shí)只記錄日志跳過它繼續(xù)抓下一個(gè)。這個(gè)“容錯(cuò)優(yōu)先”的思路是爬蟲從“能跑”到“能長(zhǎng)時(shí)間穩(wěn)定跑”的關(guān)鍵一步。4. CSV 導(dǎo)出的三個(gè)細(xì)節(jié)亂碼、重復(fù)表頭、字段順序抓到的元數(shù)據(jù)最終要落盤到 CSV 才方便后續(xù)用辦公軟件打開、篩選、分析。CSV 導(dǎo)出看著簡(jiǎn)單但有幾個(gè)細(xì)節(jié)不處理好出來(lái)的文件會(huì)很難用。4.1 追加寫入還是每次重寫我推薦追加模式如果你是一次性抓完一批再導(dǎo)出那每次都重寫文件沒問題。但我是邊抓邊寫希望抓完 50 個(gè)頁(yè)面后文件里就有 50 行數(shù)據(jù)中途跑掛了也不至于所有數(shù)據(jù)全部丟失。這種情況下追加寫入最合適。追加寫入的核心是用modea打開文件而不是默認(rèn)的w。同時(shí)要指定newline否則 CSV 里每?jī)尚兄g都會(huì)多出一個(gè)空行這是 Windows 下常見的坑。import csv import os fieldnames [title, year, director, screenwriter, actors, rating, votes, runtime, summary] def save_to_csv(item: dict, filename: str douban_movies.csv): file_exists os.path.isfile(filename) and os.path.getsize(filename) 0 with open(filename, modea, newline, encodingutf-8-sig) as f: writer csv.DictWriter(f, fieldnamesfieldnames) if not file_exists: writer.writeheader() writer.writerow(item)用os.path.isfile判斷文件是否已存在是為了避免表頭重復(fù)。文件第一次創(chuàng)建時(shí)寫表頭之后就只追加數(shù)據(jù)行。4.2 為什么必須是 utf-8-sigExcel 亂碼的根源很多人導(dǎo)出 CSV 后用 Excel 一打開中文全變成亂碼問題基本出在編碼上。普通utf-8編碼的 CSVExcel 默認(rèn)會(huì)用本地的ANSI解碼中文字符自然對(duì)不上號(hào)。解決辦法是寫入時(shí)用utf-8-sig編碼它會(huì)在文件開頭寫入一個(gè) BOM 標(biāo)記Excel 識(shí)別到之后就自動(dòng)按 UTF-8 解碼。我在第一次寫爬蟲腳本時(shí)就是忘了這一步導(dǎo)出的 CSV 用記事本打開正常、用 Excel 打開一片亂碼當(dāng)時(shí)還以為是代碼寫錯(cuò)了排查了半天才發(fā)現(xiàn)是編碼問題。4.3 字段順序定義清楚CSV 的第一行就是你的數(shù)據(jù)字典csv.DictWriter的fieldnames列表順序就是輸出 CSV 里每一列的順序。我習(xí)慣把主標(biāo)識(shí)類字段放前面標(biāo)題、年份再放人員類導(dǎo)演、編劇、主演然后是評(píng)分類評(píng)分、評(píng)價(jià)人數(shù)最后是長(zhǎng)文本劇情簡(jiǎn)介。這個(gè)順序?qū)罄m(xù)人工審查和機(jī)器讀取都比較友好。如果字段順序不穩(wěn)定比如這次是“標(biāo)題 年份 導(dǎo)演”下次是“導(dǎo)演 標(biāo)題 年份”CSV 打開后表頭亂七八糟不說(shuō)別人接手你的數(shù)據(jù)還得重新對(duì)齊。這一行 fieldnames最好在寫代碼時(shí)就固定下來(lái)一勞永逸。5. 實(shí)測(cè)里繞不開的坑風(fēng)控提示、頁(yè)面結(jié)構(gòu)升級(jí)、臟數(shù)據(jù)過濾前面說(shuō)的方法已經(jīng)夠跑通一個(gè)基礎(chǔ)版本但真正讓腳本“穩(wěn)”起來(lái)的是處理意外情況的能力。這里把我踩過的幾個(gè)坑集中講一下。5.1 風(fēng)控提示怎么識(shí)別與應(yīng)對(duì)豆瓣風(fēng)控上線得比較早當(dāng)你請(qǐng)求頻率過高時(shí)返回的不是攔截頁(yè)面就是一個(gè)看似正常的頁(yè)面里加了一句“檢測(cè)到有異常請(qǐng)求從你的 IP 發(fā)出”。這種情況下HTML 內(nèi)容解析時(shí)不會(huì)報(bào)錯(cuò)但你會(huì)發(fā)現(xiàn)rating、votes這些字段全部消失數(shù)據(jù)開始大量出現(xiàn)空值。排查這個(gè)問題最直接的辦法是打印響應(yīng)狀態(tài)碼和頁(yè)面標(biāo)題。如果狀態(tài)碼是 418 或者頁(yè)面標(biāo)題變成了“頁(yè)面不存在”基本可以斷定是觸發(fā)了風(fēng)控這時(shí)候繼續(xù)硬著頭皮跑沒有意義。我的處理策略也很簡(jiǎn)單降低頻率、按指數(shù)退避重新請(qǐng)求。具體來(lái)說(shuō)第一次遇到異常時(shí) sleep 30 秒重試一次如果還是異常就 sleep 60 秒再試連續(xù)三次不行就跳過當(dāng)前頁(yè)面并記錄日志。注意重試之間要累積延時(shí)不要固定間隔地反復(fù)重試。def fetch_html(url, headers, retries3): for attempt in range(retries): resp requests.get(url, headersheaders, timeout10) if resp.status_code 200 and 檢測(cè)到有異常請(qǐng)求 not in resp.text: return resp.text time.sleep(10 * (attempt 1)) return None這套重試邏輯非常適合中小體量的爬蟲既不會(huì)在風(fēng)控面前死磕也不會(huì)因?yàn)橐粌纱尾▌?dòng)就丟掉數(shù)據(jù)。5.2 頁(yè)面結(jié)構(gòu)升級(jí)選擇器失效時(shí)的兜底方案豆瓣改版過好幾次某些節(jié)點(diǎn)的 class 或?qū)傩詴?huì)調(diào)整。我的解析代碼之所以能快速適應(yīng)靠的是兩個(gè)原則第一優(yōu)先用穩(wěn)定屬性選擇器。比如propertyv:average、propertyv:votes、propertyv:runtime這些屬性是豆瓣對(duì)外輸出的結(jié)構(gòu)化標(biāo)記比classrating_self clearfix這種視覺樣式類穩(wěn)定得多。樣式類說(shuō)改就改結(jié)構(gòu)化屬性通常不會(huì)隨便變動(dòng)。第二解析函數(shù)統(tǒng)一收口。無(wú)論頁(yè)面怎么變解析邏輯全部放在parse_detail_html一個(gè)函數(shù)里。網(wǎng)站改版后只需要修改這個(gè)函數(shù)的內(nèi)部選擇器其他部分完全不用動(dòng)。我把這種設(shè)計(jì)理解成“爬蟲的依賴倒置”頁(yè)面結(jié)構(gòu)與采集邏輯隔離變化只出現(xiàn)在一層。5.3 數(shù)據(jù)清洗過濾掉無(wú)效條目和重復(fù)條目批量跑完一批數(shù)據(jù)后別急著直接用。CSV 里可能有些字段缺失嚴(yán)重的行比如連片名都沒有的空行也可能因?yàn)閿帱c(diǎn)重爬部分條目重復(fù)寫入。我常用的清洗邏輯很簡(jiǎn)單用 pandas 讀進(jìn)來(lái)先按title去重再過濾掉標(biāo)題為空的記錄最后把評(píng)分、年份這類字段的類型轉(zhuǎn)好。排序時(shí)按評(píng)分降序、評(píng)價(jià)人數(shù)降序方便后續(xù)分析。import pandas as pd df pd.read_csv(douban_movies.csv, encodingutf-8-sig) df df[df[title] ! ] df df.drop_duplicates(subset[title], keeplast) df[rating] pd.to_numeric(df[rating], errorscoerce) df[votes] pd.to_numeric(df[votes], errorscoerce) df df.sort_values([rating, votes], ascendingFalse)這一步清理能從粗糙的原始數(shù)據(jù)里快速拎出可用部分。很多爬蟲教程到“導(dǎo)出 CSV”就結(jié)束了但我實(shí)際用下來(lái)的體會(huì)是導(dǎo)出的 CSV 才是數(shù)據(jù)工作的起點(diǎn)清洗和你抓取本身同樣重要。6. 爬蟲合理的邊界頻率、數(shù)據(jù)量與用途要有分寸最后我想認(rèn)真聊聊分寸感。寫爬蟲的都知道“能不能”和“該不該”是兩回事。豆瓣詳情頁(yè)的數(shù)據(jù)本質(zhì)上是由網(wǎng)友和平臺(tái)共同維護(hù)的公開內(nèi)容不以登錄狀態(tài)為前提就可以瀏覽采集它對(duì)個(gè)人學(xué)習(xí)、數(shù)據(jù)分析來(lái)說(shuō)有合理需求。但這不代表可以無(wú)限度地抓。我給自己定的邊界有三條單次采集控制在可解釋的范圍內(nèi)。我的項(xiàng)目需求是幾百部影片的元數(shù)據(jù)這個(gè)規(guī)模用單線程慢慢跑完全合理。但如果你要做全站幾百萬(wàn)條數(shù)據(jù)的鏡像采集那就已經(jīng)完全超出個(gè)人學(xué)習(xí)范疇了該考慮尋求官方數(shù)據(jù)接口或授權(quán)渠道??刂普?qǐng)求頻率。個(gè)人用途正常瀏覽式的頻率可以理解但這不意味著可以用高并發(fā)去挑戰(zhàn)平臺(tái)防守。我在前面反復(fù)提到隨機(jī)延遲這不僅是技術(shù)層面的防封策略也是態(tài)度問題。數(shù)據(jù)只用于個(gè)人分析不二次轉(zhuǎn)賣、不公開完整數(shù)據(jù)集。別人的勞動(dòng)成果值得手下留情這也是所有技術(shù)人生存的基本盤。這套邊界在我的所有爬蟲項(xiàng)目里都是默認(rèn)配置。技術(shù)本身是中性工具關(guān)鍵是使用方式和用途要經(jīng)得起推敲。最后再分享一個(gè)實(shí)操小技巧批量任務(wù)結(jié)束后把抓取到的 CSV 文件名后綴加上當(dāng)天的日期比如douban_movies_20240615.csv。這樣每次重新抓取、清洗都不會(huì)把舊數(shù)據(jù)覆蓋掉如果需要對(duì)比不同時(shí)間的數(shù)據(jù)變化也有據(jù)可查。我后來(lái)很多分析結(jié)果能順利回溯靠的就是這個(gè)小習(xí)慣。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲性高潮| 欧美人人AAA| 日本久久999| 色五月综合| 免费的很黄很污的全部视频| 免费在线黄片视频| 中国乱伦一区二区| 国产欧美一级在线观看| 日韩免费在线观看不卡| 欧美 亚洲 在线| 97精品中文字幕| 嗯嗯啊啊操死我| 人妻天天操天天爽视频免费| 久久久网站| 密乳AV免费观看| 中文久久久| 天天天干977| 国产人人干| 人人澡综合涩| 偷窥自拍亚洲色图| 欧美.亚洲.另类.丝袜.制服.诱惑| 在线观看黄色电话| 日韩婷婷| 国产精品久久久鸭无码的功能| 樱花蜜乳av| 日韩视频精品在线观看| 91亚洲网| 亚洲一区日韩精品中文字幕| 超碰97网站| 91N综合网| 锕锕好爽 死我在线观看| 91jk色拍| 欧美日韩亚洲五月天婷婷| 色哟哟-国产专区| 久久性爱视频| 久9久9精品| 97中文字幕色| 69久久久久久久久久久久久| 97国产伦理| 熟妇国产免费一区| 岛国不卡超碰护士AV在线播放| 台湾肥佬网一区二区三区| 啊啊啊好湿国产一二| 啊啊啊 在线观看| 亚洲一二三精品久久网| 日韩影片中文字幕一区二区三区| 秋霞男人网| 91欧美综合在线| 国产免费久久精品99re韩国| 另类欧美| 97超碰欧美手机| 亚洲中文字幕精品一区| 久久99综合| 偷拍 精品另类 凸凹了四区| 97色97好| 九九九九热只有精品| 9丨久久九九九| 亚洲成人黄色在线观看| 91精品女厕偷拍视频| 伊人久久大香线蕉无码| 91美女丝袜诱惑视频| 中美日韩毛片| 日日干夜夜欢| 综合另类| 国精精品无码一二三区水多多| 强奸乱伦资源| 天无日色综合| 久操视频免费观看| 欧美第一页| 欧美性爱第一区| 第一高清av中文字幕| 狠狠狠狠狠干| 99热在线只有精品| 人人操人人舒服| 天天天天天天天天天天干美女| 综合久| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 蜜臀一区二区三区在线| 欧美成人黄网色网站| 屌逼传媒| 中文字幕欧美日本乱码一线二线 | 日韩人成网站在线播放| 丰满翘臀美女影院视频| 日本黄页视频在线观看| 激情婷婷综合久久| 亚洲免费人妻在| 久插综合| 一区二区三区不卡视频| 亚洲日韩美女中文字幕乱| 超碰久久中文| 人妻另类| 日本操逼视频导航| 人妻无码后入| 色噜噜狠狠色综无码久久合欧美| 狠狠干狠狠干| 四虎免费在线播放| 在线观看精品国产免费| 亚洲污一污二| 999久久久免费精品国产牛牛| 秋霞影音一区二区三区| 青青草在线视频欧美| 人人妻人人澡人人爽人人精品浪潮| 亚洲无码成人精品| 男人久久精品| 欧美激情性爱视频网站| 亚洲揄拍网| 97在线免费| 久久久com| 欧美 日韩第一性色| 国产操逼逼网| 啊啊啊久久久视频| 精品久热| 屁股久久久久久久| 日本最新免费韩国1区2区视频播放| 性猛交| www.超碰| 三级色影综合网| 天天插天天插| 极品另类| 性生活久久久久久久久久| 97综合网| 中文字幕版| 思思热在线视频在线| 亚洲中文制服诱惑| 翔田千里无码中出中文字幕| 97一区二区三区视频| 午夜AV人气不卡| 91性感网站| 成人性爱av.com| 国产精品天干天干综合网麻豆 | 亚洲天堂人人妻| 伊人五月天激情| 日日做夜狠狠爱欧美黑人| 欧美日韩国产另类综合| 走光一区92下载| 99在线无码精品秘 入口黑人| 久久m| 亚洲夜夜欢无码一区二区 | 天天综合~91入口| 大学生美女口爆| 91 国产丝袜在线放观看| 精品综合久久久久久五月天| 大香蕉在线视频重口味毛片在线| 一区二区三区免费岛国片| 大香蕉在线SuP| 天天爽爽爽爽| 久久天天艹| 精品无码一区二区人妻久久蜜桃| 99热最新| 亚洲欧美日韩免费电影| 天天搞欧美| 久久本道| 国产精品久久久久av| 亚洲日韩美女丝袜美腿人妻视频| 亚洲诱惑| 亚洲欧美精品一区天堂久久 | 乱伦av.com| 91熟女在线| 在线97在线| 亚洲精品啪视频| 性一级黄色录像片网站导航| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 殴美性色a级欧美| 人妻丰满熟妇一区二区三| 91青青在线| 自拍视频大全亚洲专媒视频/一区二区三区| 成人a级高清视频在线观看| 夜夜春夜夜操| 粉嫩AV输入| 91久操| 午夜.DJ高清在线观看免费7| 人妻欧美| 国产深喉视频一区二区| 少妇特黄一区二区三区| 很黄很污的免费网站| 日韩无码黄色片| 丁香九月婷婷| 伊色久人大在线| 人乳av| 二对二中文字幕。| 9/A片| 香蕉久久国产AV一区二区| 欧美日韩大香蕉| 亚洲男人天堂手机版| 97一区二区三区视频| 夜夜爽爽爽| 免费A V在线| 欧美 日韩 亚洲 春色| 欧洲综合色| 亚洲。天堂。日本在线观看| 伦在线97| 超碰98综合网| 亚洲欧美setu| 天堂亚洲精品久久老牛| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 在线观看一卡二卡| 九九热精品在线| 久久鲁干| 亚洲一本大道中文字幕无码在线| 小日子操bb在线看| 国产成人精品必看| 国产精品成人久久一区二区三区| 看免费的黄片| 国产女人和拘做爰视频 | 欧美久久婷婷| 超碰天天操你比| 免费久久9999| 成熟熟女国产精品一区二区| 人妻内射一区二区在线视频| 60秒免费小视频| 爽爽爽免费视频| 天色综合网| 1区2区3区中文字幕日韩| 亚洲情色婷婷五月天| 亚洲无套久久嗯嗯| 婷婷国产精品九区| 超碰在线97国产| 国产美女激情| 欧美色图97| 9精品久久久久| 97久操| 超碰在线91| 亚州综合色| a级免费在线观看| 国产无吗在线播放| 欧美黑人精品在线播放| 成人资源中文字幕在线观看天天| 精品国产乱码久久久久久久久1 | 午夜偷拍久久熟女| 成人午夜小视频手机在线看| 日本在线一二| 亚洲男人天堂网久久| 精品久久久久黄少妇| 亚洲揄拍网| 久久久久人| 亚洲丝袜在线观看| yiqicaoav| 秋霞无码av鲁丝片一区| 五月天激情视频| 欧美婷婷久久| 国产久久天堂资源| 人妻偷拍一区二区三区| 国模精品娜娜一二三区| 偷拍欧美激情| 91男同| 大香蕉日韩| 欧美大波激情xxxx| 激情综合色| 97这里都是精品| 9 1超碰九色| 东京热一区二区中文字幕| 无码精品一区二区三区潘金莲| 国产成人无码久久精品| 大香蕉伊人在线成人AV在线观看| 伊人视频| 亚洲电影中字一区二区| 日韩无码成人电影| 性性欧美| 亚洲无码精品AV久久久| 欧美性爱另类综合| 超碰免费欧美7| 精品78| 日本国产欧美高清在线| 啊啊好多水| 少妇的嫩逼图片| 免费一级精品啪啪视频| 亚洲情色婷婷五月天| 大但人体久久久久| 超碰成人公开| 中文字幕-区二区三区四区视频中国| 欧洲综合色| 久久三| 97视频620| 国语对白露脸XXXXXX | 日本精品五区| 一区二区你上我| 97在线播放| 国产51色综合久久免费| 日韩美女,国产传媒,视频一区| 性欧美91| 天天干天天做| 97欧美视频| 97自拍视频在线| 九九九九九九免费视频| 男人的天堂一区三区| 噜噜噜久久亚洲精品色情| 激情综合网亚洲| 超碰av人人人| 亚洲熟女av中文字幕| 久操不卡视频| 欧美日韩久久精品爱爱| 91狠狠综合久久久久久| 欧美色涩| 四虎影视在线| 国产精品白领在线观看| 欧美日韩222| 百度百度日本操逼| 午夜啊啊啊| 亚洲日本激情| 熟妇人妻一区二区三在线 | 日韩美女高潮喷水视频| 在线观看无码三级少妇| 韩日色费| 欧美人人天天网| 亚洲高清无码在线桃色| 国产91 丝袜在线播放| 精品妇女一区二区三区| 日本久久女同性恋视频| 东京热不卡视频| 玖玖资源综合在线视频| 91欧美色| 青女在线| 日韩人妻资源在线看| 亚洲综合电影| 九草在线大香蕉| 99日精品欧美国产| 中日韩免费看男女操逼大全| 97精品97| 国产在线精品偷| 亚洲日韩天堂| 亚洲爱爱视频一区二区| 激情久久久| 欧美性爱一区二区| 操老熟女AV| 偷拍 精品另类 凸凹了四区| 狼狼色丁香久久婷婷综合五月| 91碰碰| 无码免费一区二区三区啪啪| 国产a片操逼| 四季av一区二区凹凸精品小说| 色九月| 亚洲精品乱码线路中文字幕| 男人天堂毛片| 丝袜美女诱惑 91 视频| 五月天丁香| 国产精品爱欲| 日本不卡在线二区三区| 91综合国产精品| 中文字幕成人| 日本中文字幕在线视频 | 精品久久99| 欧美综合加勒比在线| 涩涩这里只有精品视频| 天天干嫩逼网| 欧美在线|亚洲| 东北女人被操| 九九热九九热| 日本大片日本一区二区免费高清| 日韩一级特黄av毛片| 欧美色性情| 亚洲色图自拍| 日韩精品熟妇| 九九九久千久久激情蜜桃在线看| 操逼逼无码| 伊人一区二区在线播放| 91视频综合网| 精品人妻一区二区三区免费视频| 很狠操| 黄色不卡视频| 男人干美女| 天天欧美欧美亚洲网| 综合欧美日本三级| 青娱乐国产精品| 18啪啪手机免费性爱| 热99这里有精品综合久久 | 欧美综合骚| 免费看一级a性色生活片久久无| 91在线精品一区二区三区| 日日躁夜夜躁狠狠躁超爽| 日日日大屁股骚女人精品| 一区=区三区视频| 国产又粗又又黄又猛| 一级黄色影片| 丁香五月婷婷五月| 丁香五月激情综合| 欧美一区二区情色| 国产av青草| 美女超碰978| 五月丁香色婷婷| 精品亚洲国产成人AV制服丝袜| 国产自产自拍| 日本www操操操| 日本熟妇人妻中出视频| 成人性爱高清视频免费看| 综合久久久久久久综合网| 亚洲国产精品成人综合| 亚洲男人久久综合天堂| 自怕偷自怕亚洲精品| 乱伦一区二区三区‘| 国产视频一区二区三区在线免费观看 | 岛国网址国产 | 五月婷婷丁香| 亚洲色图超碰在线| 九一综合精品视品av| 久久久不能久久久久| 欧美日韩淫加| 大香蕉综合在线| 久久九九精品一区二区| 天天操妹子| 亚洲天天操| 老熟女乱伦一区| 午夜一区二区三区国产| 亚洲中文字母在线播放| 一区二区三区精品黑丝白丝酒店对鸡| 夜夜爽33333| 天堂资源欧美| 97超碰伊人| 蜜臀中文字幕| 人妻81p| 超碰av在线| 麻豆精品久久久久久久| 韩国女主播青草在线| 久久久精品久久| 后入国产| 亚洲国产成人精品无码专区| 中文字幕一区av| 狠狠热这里都是精品| 97精品中文字幕| 午夜操一操| www.av在线视频| 99色视频| 伊人久久亚洲色欲综合网站 | 三级精品三级在线观看| 99自拍视频在线| 黄色高清久久无码依人| 超碰97极品9| 色网站导航大全| 爱做久久久久久| 欧美熟女激情| 久久系列| 久久曰曰| 色婷婷淫色网| 爱妃国产亚洲视频中文字幕| 九九无码视频| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 91人妻人人澡人人爽人人精品| 日韩精品 视频一区二区| 操人妻少妇中文| 97天天插| 国产乱色国产精品免费视| 天天干天天爽| 亚洲做性| 蜜臀操逼黄色视频操的好爽| 色香在线| 香蕉热人人精品| 久久超碰爱| 久久激情视频| 伊人女女资源在线观看| 欧美大战久久久伊人| 超碰免费97| av一区二区三区 中文| A男人的天堂| 成年人网站在线免费观看| 午夜免费视频1000| 精品一级| 午夜精品一区二区三区三上悠亚| 人妻激情视频| 色色综合网站| 传媒在线观看一区二区三区| 精品性爱一区二区| com 首页 18岁 禁区 女优 免费 精选 同城 | 精品人妻一区二区三区四区石在线| 久操热| 一区超碰一区| 激情久久av一区av二区av| 加勒比综合| www色色色com| 日韩十八禁| 人妻嗯啊啊在线播放| 久久这里只精品| 免费A V在线| 男人的天堂kva| 青娱乐久久艹| 日本高清一本二本免费不卡| 极品极品色影院| 久久老熟女| 大香蕉520| 99久在线精品99re8蜜桃| 亚洲成?V人片在线观看福利| yazhououmeizongya| 日韩av乱伦| 91精品网站| 中文字幕av色| 高清国产精品无码| 99这里只有精品| 99色综合| 眼镜人妻101.com| 国产精品视频| 亚洲免费看片| 日韩欧美亚欧在线视频| 亚洲综合性网址| 日韩不卡a级视频专区| 亚洲精品国产拍免费91在线| www鬼畜国产男人的天堂| 蜜乳视频网站| 亚洲极品| 欧美综合第一| 亚洲AV永久无码一区仙野| 亚洲男人在线观看天堂| 蜜桃视频精品一区二区三区| 强奸乱伦大香蕉网| 日韩福利电影网| 福利在线视频一区二区| 91美女中出| 欧美日韩激情无码专区| 99国产女人| 国产精品网站www| 免费a在线播放v| 国产精品片| 人妻少妇精品久久久| 色色操| 国产精品原创巨作?v网站| 色香综合天天影视综合| 97干色天堂| 日本人妻A片成人免费看片| 日韩成人私密一级精品av| 精品视频久久区| 精品四五区| 中日韩欧美精品无码AⅤ一区二区| 97任你吞精| 在线综合网| 无码九九| 好舒服视频| 日本不卡卡一区| 操逼网免费无码视频| 天天看天天干| 亚洲九九九九| 奶水 人妻 哺乳 在线| 午夜后入| 久久久婷| 日韩AV色图| 精品女人999| www.婷婷| 亚洲国产日韩欧美熟妇在线| 熟女乱伦A| AAAA欧美日韩| 粉嫩av在线| 91熟女丨91老女人| 人妻精品一区二区三区| 熟妇女伦乱视频视频| 强奸熟女一区二区三区| 青青操在线亚洲视频观看欧美在线 | 大香蕉视频一二三区| 精品国产乱码久久久久久网站入口| 老女人91| 91色s| 亚州高清色综合| 国产SV一线| 麻豆国产原创AV色哟哟| 久久精品一区二区三区不卡| 97福利视频| 97色干| 大香蕉五月天婷婷| 国产成人网| 五月天激情小说| 国产成人综合网| 激情五月天色色网| 日本三级日本三级99| 天天做日日做天天欢。| 强免费黄色网址| 免费黄色片子| 久久麻豆一区二区| 日韩乱码Av| 日本不卡高清免v欧美日韩在线观看| 亚洲色图激情小说| 嗯嗯嗯,草死我| 亚洲男人电影天堂| 亚洲色人| 国产精品一区二区亚洲人成毛片| 免费的黄片有限公司| 一级岛国大片| 播播亚洲小说亚洲| 五月婷丁香| 91肏屄网| 天美传媒AV国产在线| 欧美在线视频观看一二三四区高清| 欧美激情久久久久| 青青久草| 岛国1区2区3区在线观看| 中文字幕一区二区三区高清| 手机看片1024你懂的国产| 99综合网| 久久中文色图| 女上位精品在线| 人人妻人人爽| 伊人久久综合影院精品久久久| 午夜亚洲国产理论秋霞| 国产欧美一区激情交| 大香蕉97久久| 亚洲日韩欧美一区二区| 丰满人妻-区二区三区| 国产在线能看的你懂的| 国产精品熟女丝袜一区二区| http://qxhbdz.com| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久久国内| 久久a久久| 亚洲人综合| 亚洲牲交| 爆操无码| 一区二区 电影 亚洲| 精品白丝一区| 亚洲高清无毛一区二区| 国产67194| 久久综合女优| 啊啊啊啊操死我| 日本视频在线观看污污污| 亚洲欧美九九| 91狠狠狠| 国产91啪| 九九久久99| JuliaAnn丝袜熟女系列| 欧日a| 91天美传媒精品| 99re黄 | 熟女人妻一区二区三区| 1禁看欧美黄片免费看| 中文字幕精品人妻丝袜| 日韩欧视频| 国产精品欧美日韩久久| 亚洲 欧美 小说| 男人的天堂va| 人妻AV在线| 亚洲熟女少妇免费视频| 中日亚韩免费视频| 91丝袜激情在线| WWW.操逼.COM| 色综合98| 国产又黄又爽| 一道本久久棕合爱| 超碰在线91| 毛片电影一区二区三区| 亚洲诱惑天堂| 亚洲黄色网址视频| 欧美大色交| 精品偷拍13p欧美dodk视频| 大香蕉伊人在线成人AV在线观看| 日韩一级二级三级免费看完整版| 亚洲色色色| 超碰在线免费一区二区三区| 国产欧美日韩在线不卡第一页| 97超碰精品成| 欧美国产伊人久久久久| 91无摭挡| 秋霞一级视频在线观看免费| 超碰97导航| 国产 v乱码一区二| 亚洲欧美国产精品久久久久久久| 入口操逼网站| 东北女人性交| 好吊妞转入那个网| 国产美女高潮| 91网站18在线| 黑人无码一区二区| 97久久综合网| 水澄无码AV| 精品性爱| 天天色怡春院| 国产伦乱91| 午夜一区| 一区二区三区男女操逼黄色小电影| 日本孕妇一区二区视频操逼免费看 | nuu12国产麻豆精品| 无码国产精品午夜不卡(| 久久有码视频| 欧美午夜精品久久久久久超碰| 亚洲国产综合图区中文字幕 | 天天干天天日天天射黄色| 国产无码精品无码| 97超视频在线观看| 欧美日韩99| 日本三级日本三级三级人妇四虎| 国产99热| 久久久婷婷| 一类无码操逼视频| 东北老熟女| 精品人妻一区二区三区-国产| 乱操乱伦AV| 夜夜夜夜爽| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 少妇精品| 99啪啪| 大伊香蕉在线视频免费| 久久 精品| 精品一二三区四视频| 亚洲精品视频在线| 强奸乱伦AV网址| 综合网少妇| 婷婷色香| 亚洲欧洲另类| 国产毛片在线| 亚洲开心网| ...日韩成人一区二区三区字幕| 久久99操天天日| av绯色| 中文字幕欧美日韩三级| AV在线播放网址| 99国产精品久久久久久久成人热| 一区二区三区机械有限公司| 婷婷丁香九月| 日韩一级二级三级在线不卡观看完整| 丝袜美女诱惑 91 视频| 久久99国产综合精品女同| 在线强奷到舒服的无码视频| 日本αv| 中国熟妇| 欧美色图小说综合| 色色色色色色色色综合| 亚洲情色婷婷五月天| 另类专区在线观看| 免费精品人妻一区二区三| 韩国三级色呦呦| 97精品一区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 91九久| 婷婷久热| 欧美一级黄色18片免费看| 日韩字幕一区| 四虎精品永久在线播放| AV中文字幕三四五| 蜜臀久久99'精品久久久| 精久久久91| 精品.99999| 偷拍伦理视频| 亚洲丝袜色| 五月丁香啪啪| 成人短视频在线观看| 欧美日韩操逼嗦吊| 手机看片1025| 天堂8在线新版官网| 亚洲啪啪视频一区二区| 亚洲欧洲综合av在线| 欧美不卡在线一区二区| 明星性猛交ⅹxxx乱大交| 欧美亚洲综合高清在线| 射久久| 97免费在线观看| 五十路三区在线| 97超碰欧美中文字幕| 男女国产精品| 白丝一区| 性爱视频免费网址| 国产成人精品必看| 91精品女厕偷拍视频| 影音先锋视频在线| 国产三级多多影院2022国产AA一级毛片无码| 黄色操人| 凹凸视频在线观看伊人| 亚洲古典另类欧美在线| 激情五月天丁香社区| 免费看一级a性色生活片久久无| 婷婷亚洲五月***久久| 免费一级毛片在线视频观看| 激情四射五月天| 亚洲熟妇自偷自拍另欧美| 久热69九色熟妇97| 国产乱弄免费在线视频。| 亚洲大色堂| 亚洲精品国产熟女久久久| 天天爽入口| 夜夜精品视频| AV一区观看| 粉嫩av在线一区二区| www.色综合| 国产精品熟女AV中文字幕在线播放| 插老姨肥穴| 夜夜青青无码影院| 99夜夜操| 亚洲欧洲日韩天堂av| 黄片无码在线制服| 久久精精区一区二区一蜜桃一区二区| 96AV久久久| 天欧美在线| 国产精品视频在线观看| 青娱乐福利99| 亚洲中文字母在线播放| 欧美第一页性| #NAME?| 天天综合-91入口| 国产精品探花色| www.色操逼| 久久久久久久78| 4tube欧美女厕所| A级片日韩欧美国产欧美视频精选观看| 国产精品嫩草影院免费| 污啪啪啪视频| 国产在线精品电影观看| 男人综合网| 综合欧美激情网| 欧美一区91大爱| 超碰日韩美妻| 亚洲欧美日韩制服另类| 日本三级日本三级99| 久久天天躁日日躁狠狠躁| 啊啊啊水好多| 免费一级特黄特色大片在线观看看| 婷婷激情五月综合| 蘋果手機免費看成人Av| 91在线视频国产网站| 婷婷中文网| 91色图片| 超碰95| 激情久久久| 少妇丝袜在线观看AV| 午夜福利国产欧美日韩夜夜| 99热精品在线播放| 狠狠干妹子| 国产欧美精选自拍一区| 国产视频一区二区在线| 天天操妹子| 久久香蕉综合一本到3atv| 国产成人AV麻豆| 91无遮挡| 理论久久婷婷网 8| 欧美综合色,www| 韩国三级理论在线| 亚洲人久久久网| 精品毛片av一区二区| 国产久久一区二区三区野外在线| 亚洲一区二区三区婷婷| 九九色婷婷| 青青草影视蜜久久| 亚洲乱码国产乱码精网站| 日韩美女高潮喷水视频| 午夜福利一区二区影院| 久久久久久久久久久人妻| 91色花堂| 久久香蕉国产传媒一区剧情天美| 这里只有精品97| 99精品久久| 中国熟妇| 欧美天天插| 婷婷综合伊人一区| 亚洲 欧美 中文 日韩超碰| 密臀视频三区免费网站| 超碰79人人乐| 蜜臀久久99精品久久久久久无删减| 99精彩视频| 欧美少妇人妻| 精品人妻1237| 久久欲| 久久国语| 天天草天天干天天日| 亚洲天天天| 人人色97| 亚洲 中文字幕 精品| 97日视频| 亚洲中文字母在线播放| 超碰97人妻自拍| 日韩欧美视频青青| 91丨国产丨白浆秘 洗澡动漫| 亚洲欧美爆| 日本欧美一区二区三区免费| 玖玖爱伊人玖玖爱| 五月丁香婷婷综合| 亚洲性爱成人| 欧美在线视频播放| 精品少妇一区二区三区在线视频| 91观看 国产白丝| 国产视频三区四区| 久久免费99精品久久久久久| 日韩 欧美 国产 麻豆| 亚洲天堂99| 亚洲学生妹高清av| 色眯眯av| 九九热视频在线观看| 亚洲最新Av| 色哟哟精品1精品2| 玖玖人人爱| 中国一级操逼视频| 天天天干977| 伊人一区二区三区| 999岛国大片| 亚洲成a人v欧美综合天堂下载| 黄色高清久久无码依人| 国产精品久久伊人| 午夜人人操| 日日干夜夜欢| 久久久9品一区二区三区| 欧美日韩操逼动图| 97资源久久| 久久 久久国内精品亚洲| 人妻天堂综合网| 久久人人爽爽人人爽人人片αV| 我要色综合网站| 久久久久久久国产| 亚洲天堂综合AV| 三级网色| 国产无码成人无码| 91在线丝袜| 97爱欧美| 精品久久一区二区三区四区五区| 被男人添B超爽视频| 好吊色综合| 久久久久国产精品人妻aⅴ天堂| 美女露胸露屁股| 超碰在线国产| 温婉少妇玩3p| 日韩一级性爱无码| 欧综合网| 夜夜黄| 男人的天堂无码| 欧美色997| 啊啊啊啊啊啊啊国| 九月婷婷综合| 日韩性爱再线视频| 色网在线视频观看免费| 精品蜜乳AV免费观看| 欧美综合综合| 亚洲影视第一页| 97超碰久久色| 97露脸精品丝袜| 四虎影视在线| 日本在线不卡123| 婷婷五月天社区| 久久久九九网站| 亚洲乱码国产乱码精网站| 老熟女乱伦一区| 人人人干干人人干| 日韩精品人妻| 久久加勒比| 中文字幕AV中出| 91蜜臀人妻中文字幕在线| 欧美中字不卡| 中文字幕神马久久| 国产1727欧美| 日本熟妇色熟妇在线视频播放| 国产精品视频播放| 亚洲影院小综合| 久久综合久久综合人久久夜精品| 中文高清一区二区的| 精品国产一区二区三区av在线资源| 不卡免费av在线播放| 亚洲无线码一区国产欧美国| 白嫩国模丰满一二三区| 欧美成人黄网色网站| 蜜臀操逼黄色视频操的好爽| 高跟丝袜AV专区国产| 操逼逼福利视频| 爱av免费| 极品尤物在线观看| 欧美99| 天美麻豆精品视频99| 日韩国产品视频中文字| 内射中出日韩在线观看视频| 亚洲男人的天堂V| 亚洲AV高潮| 神马久久啊啊| 青操影院| 久艹免费| 大色综合| 国产精品原创巨作?v网站| 在线免费观看日韩一区| 在线强奷到舒服的无码视频 | 人妻美腿丝袜日韩| 日韩人成网站在线播放| 秋霞无码av鲁丝片一区| 影音先锋中文字幕日本好一区二区| 日本精品第一视频在'| 青草视频在线看看看看看看看看看| 国产又粗又又黄又猛| 岛国小电影| 日欧毛片久久| 欧美三四五区| 日本一级真人黄色性爱视频| 中文字幕美女91| 黄片免费久久久久久久| 狠狠色婷婷| 久久综合日韩亚洲欧美| 亚洲成人妻日韩在线| 噜噜噜亚洲精| 免费观看成人www精品视频| 激情网色| 精品少妇后入一区二区三区四区人妻巨乳| 久久久不能久久久久| 综合一区二区影视| 噜噜噜噜久久久精品免费| 国语对白露脸XXXXXX| 国产精品久久成人免费| 综合色图区| 亚洲综合大片| 亚洲色人| 亚洲AV无码久久久国产精品| 精品.99999| 97视频在线免费| 精品无码一区二区三区| 欧美啪啪女女| 天天看片麻豆| 东京热天堂网| 在线观看国产黄色| 99re69综合| 日韩三级av片| 亚洲精品无码成人久久久99| 精品女人999| 91在线国产后入风骚翘臀美女素人| 亚洲中文字幕熟女| 色综合尤物| 亚洲视频一二区| 91高潮| 无遮挡h肉动漫在线观看| 啊操爽品善一区二区三区| 三级色影综合网| WWW黄片COM| 久久久久久久久久久999| 2017大香蕉| 97人人干人人操| 亚洲日韩欧美一区二区| 综合伊人网12色| 天堂岛av| 久久婷婷一区| 久久久久成人亚洲国产| 日本不卡二三区| 99热| 97精品国产97久久久久久| 亚洲91射| 亚洲九月丁香| 亚洲无限观看| ji熟女.com| 欧美丝袜激情| 亚洲av噜噜噜噜噜噜| 91黑丝露脚| 91久久国产精品| 中文字幕亚韩| 蜜臀无码一区二区| 国产欧美精选自拍一区| 精彩国产视频播放1区2区| 激情文学88| 久久久久精| 97综合国产| 日韩一级二级| 日韩超碰97| 花野真衣| 色图综合网| 九一亚洲国产免费| 日本久久女同性恋视频| 青青11操操操操操操操操| 五月丁香激情四射| 91亚·色| 成人性爱免费播放| 性欧美体内射精| 九九精品无码专区免费| 久草资源欧美在线视频| AV麻豆免费一区| 性性欧美| 久久久久久国产手机AV| 亚洲自拍青操视频| 高清在线偷拍自拍视频| 欧美亚洲中文字幕| 男人的天堂2019AV| 老熟妇乱轮| 性色国产东北露脸精品视频| 欧美性爱18观看| 欧美论理片| 爱媛媛久久国产福利| 天天欲望网| 亚洲熟妇丝袜在线观看| 欧美一区二区福利在线| 久久综合久色欧美综合狠狠 | 999九九九九国产动| 九九aV| 人妻丝袜美腿中文字幕| 欧美 亚洲 大香| 久久美女国产| 蜜臀在线网站| 欧美日韩m| 嫩呦国产一区二区三区AV| 久久精品视频一区三区小泽玛利亚| wwwcaobibi| 天天日天天干少妇日| 99re9这里只有精品| 日欧亚洲二三区大片不卡| 欧美日韩制服| 日韩av三四区| 久久一区二区三区入口| 亚洲色人| 欧美天堂第二区| 五月丁香狠狠爱| 亚洲无无码αⅴ每日更新| 亚洲 欧美 综合 91| 91丝袜美女国产| 蜜乳av一区二区| 日韩十八禁| 女人的天堂大香蕉网| 国产67194| 91伊人久| 蜜臀99精品国产高清在线观看| 密臀在线免费观看| 国产女人成人精品视频| 亚洲国产一级黄色视频| 超碰一区二区| 极品丝袜无码| 在线啊v一区| 被男人吃奶很爽的毛片| 欧美自拍网| 欧美91丝袜| 久久免费中文字幕在线观看| 成年人性爱日韩| 韩国三级一线观看久| 久久9久久| 欧美熟女丝袜| 国产精品制服丝袜中文字幕日韩一区二区三区| 欧美日韩国产高清在线一二三区 | 精品网站9999| 亚洲国产欧美中日韩成人综合视频| 一中国女人毛片水真多| 亚洲狠狠入| 中文字幕av丝袜| 爱爱动态试试看6 0秒| 五月天开心网| JIZZJIZZ国产精品喷水| 久久久久久久久久va| 久久久久久久性爱| 97在线日韩中文字幕| 好看的久久不射无码影视影院| 久久侵犯人妻爽爽爽| 91热爆在线| 无码免费精品高清| 日日日日做夜夜夜夜无码| 秋霞怕怕片| 热99re69精品8在线播放| 超碰色大香蕉| 天天天做天天天爱天天天爽| 一直超碰| 久久综合女优| 大香蕉中文aV在线| 大香蕉 222| 久悠悠av| 91oumei| 99色视频| 亚洲五月丁香花狠狠干一区二区三区 | 蜜桃成人1区2区3区| 色色99| 日日夜夜干| 五月激情小说| 激情五月天综合网| 日日夜夜狠狠| 五月婷丁香| 九九在线精品| julia高潮后不停追击中出| 四色永久成人网站| 激情五月天色色网| 亚洲午夜AV| 久久精彩视频| 午夜精品久久久久久久男人的天堂 | 麻豆人妻精品一区二区| 色色亚洲| 99超碰色| 少妇被玩视频二三区| 日本不卡码黄色| 天天舔九色婷婷| 超碰这里只有精品| 丝袜狂射91| 91狠狠狠| 色97干| 日韩欧美性吧婷婷乱伦大香蕉| 国产日韩精品suv| 日韩黄色av中文字幕| 欧美久久人人网| 久久精品国产亚洲AV成人直播| 亚洲AV无码国产成人|