91福利精品一区二区,欧美激情一区二区三3,国产91精品久久久久久久粉嫩,国产精品ww在线观看,91久久精品一区二区别,国产99视频精品草莓免视看,91伊人成人成网77777,亚洲精华液一二三产区,97免费播放视频观看

一小時入門 Python 3 網(wǎng)絡(luò)爬蟲

桂林seo半杯酒博客
一、前言

強(qiáng)烈建議:請在電腦的陪同下,閱讀本文。本文以實戰(zhàn)為主,閱讀過程如稍有不適,還望多加練習(xí)。

本文的實戰(zhàn)內(nèi)容有:

  • 網(wǎng)絡(luò)小說下載(靜態(tài)網(wǎng)站)

  • 優(yōu)美壁紙下載(動態(tài)網(wǎng)站)

  • 愛奇藝VIP視頻下載

二、網(wǎng)絡(luò)爬蟲簡介

網(wǎng)絡(luò)爬蟲,也叫網(wǎng)絡(luò)蜘蛛(Web Spider)。它根據(jù)網(wǎng)頁地址(URL)爬取網(wǎng)頁內(nèi)容,而網(wǎng)頁地址(URL)就是我們在瀏覽器中輸入的網(wǎng)站鏈接。比如:https://www.baidu.com/,它就是一個URL。

在講解爬蟲內(nèi)容之前,我們需要先學(xué)習(xí)一項寫爬蟲的必備技能:審查元素(如果已掌握,可跳過此部分內(nèi)容)。

1. 審查元素

在瀏覽器的地址欄輸入URL地址,在網(wǎng)頁處右鍵單擊,找到檢查,如下圖所示:(不同瀏覽器的叫法不同,Chrome瀏覽器叫做檢查,F(xiàn)irefox瀏覽器叫做查看元素,但是功能都是相同的)

我們可以看到,右側(cè)出現(xiàn)了一大推代碼,這些代碼就叫做HTML。什么是HTML?舉個容易理解的例子:我們的基因決定了我們的原始容貌,服務(wù)器返回的HTML決定了網(wǎng)站的原始容貌。

為啥說是原始容貌呢?因為人可以整容??!扎心了,有木有?那網(wǎng)站也可以"整容"嗎?可以!請看下圖:

我能有這么多錢嗎?顯然不可能。我是怎么給網(wǎng)站"整容"的呢?就是通過修改服務(wù)器返回的HTML信息。我們每個人都是"整容大師",可以修改頁面信息。我們在頁面的哪個位置點擊審查元素,瀏覽器就會為我們定位到相應(yīng)的HTML位置,進(jìn)而就可以在本地更改HTML信息。

再舉個小例子:我們都知道,使用瀏覽器"記住密碼"的功能,密碼會變成一堆小黑點,是不可見的??梢宰屆艽a顯示出來嗎?可以,只需給頁面"動個小手術(shù)"!以淘寶為例,在輸入密碼框處右鍵,點擊檢查。

可以看到,瀏覽器為我們自動定位到了相應(yīng)的HTML位置。將下圖中的password屬性值改為text屬性值(直接在右側(cè)代碼處修改):

就這樣,瀏覽器"記住的密碼"顯現(xiàn)出來了:

說這么多,什么意思呢?瀏覽器就是作為客戶端從服務(wù)器端獲取信息,然后將信息解析,并展示給我們的。我們可以在本地修改HTML信息,為網(wǎng)頁"整容",但是我們修改的信息不會回傳到服務(wù)器,服務(wù)器存儲的HTML信息不會改變。刷新一下界面,頁面還會回到原本的樣子。這就跟人整容一樣,我們能改變一些表面的東西,但是不能改變我們的基因。

2. 簡單實例

網(wǎng)絡(luò)爬蟲的第一步就是根據(jù)URL,獲取網(wǎng)頁的HTML信息。在Python3中,可以使用urllib.request和requests進(jìn)行網(wǎng)頁爬取。

  • urllib庫是python內(nèi)置的,無需我們額外安裝,只要安裝了Python就可以使用這個庫。

  • requests庫是第三方庫,需要我們自己安裝。

requests庫強(qiáng)大好用,所以本文使用requests庫獲取網(wǎng)頁的HTML信息。requests庫的github地址:https://github.com/requests/requests

(1)requests安裝

在學(xué)習(xí)使用requests庫之前,我們需要在電腦中安裝好requests庫。在cmd中,使用如下指令安裝requests庫:

  • pip install requests

  • easy_install requests

使用pip和easy_install都可以安裝,二選一即可。

(2)簡單實例

安裝好requests庫之后,我們先來大體瀏覽一下requests庫的基礎(chǔ)方法:

官方中文教程地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

requests庫的開發(fā)者為我們提供了詳細(xì)的中文教程,查詢起來很方便。本文不會對其所有內(nèi)容進(jìn)行講解,摘取其部分使用到的內(nèi)容,進(jìn)行實戰(zhàn)說明。

首先,讓我們看下requests.get()方法,它用于向服務(wù)器發(fā)起GET請求,不了解GET請求沒有關(guān)系。我們可以這樣理解:get的中文意思是得到、抓住,那這個requests.get()方法就是從服務(wù)器得到、抓住數(shù)據(jù),也就是獲取數(shù)據(jù)。讓我們看一個例子(以 www.gitbook.cn 為例)來加深理解:

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://gitbook.cn/' req = requests.get(url=target) print(req.text)

requests.get()方法必須設(shè)置的一個參數(shù)就是url,因為我們得告訴GET請求,我們的目標(biāo)是誰,我們要獲取誰的信息。我們將GET請求獲得的響應(yīng)內(nèi)容存放到req變量中,然后使用req.text就可以獲得HTML信息了。運行結(jié)果如下:

左側(cè)是我們程序獲得的結(jié)果,右側(cè)是我們在www.gitbook.cn 網(wǎng)站審查元素獲得的信息。我們可以看到,我們已經(jīng)順利獲得了該網(wǎng)頁的HTML信息。這就是一個最簡單的爬蟲實例,可能你會問,我只是爬取了這個網(wǎng)頁的HTML信息,有什么用呢?客官稍安勿躁,接下來進(jìn)入我們的實戰(zhàn)正文。

三、爬蟲實戰(zhàn)

實戰(zhàn)內(nèi)容由簡單到復(fù)雜,難度逐漸增加,但均屬于入門級難度。下面開始我們的第一個實戰(zhàn)內(nèi)容:網(wǎng)絡(luò)小說下載。

1. 小說下載

(1)實戰(zhàn)背景

小說網(wǎng)站《筆趣看》URL:http://www.biqukan.com/

《筆趣看》是一個盜版小說網(wǎng)站,這里有很多起點中文網(wǎng)的小說,該網(wǎng)站小說的更新速度稍滯后于起點中文網(wǎng)正版小說的更新速度。并且該網(wǎng)站只支持在線瀏覽,不支持小說打包下載。因此,本次實戰(zhàn)就是從該網(wǎng)站爬取并保存一本名為《一念永恒》的小說,該小說是耳根正在連載中的一部玄幻小說。PS:本實例僅為交流學(xué)習(xí),支持耳根大大,請上起點中文網(wǎng)訂閱。

(2)小試牛刀

我們先看下《一念永恒》小說的第一章內(nèi)容,URL:http://www.biqukan.com/1_1094/5403177.html

用已經(jīng)學(xué)到的知識獲取HTML信息試一試,編寫代碼如下:

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://www.biqukan.com/1_1094/5403177.html' req = requests.get(url=target) print(req.text)

運行代碼,可以看到如下結(jié)果:

可以看到,我們很輕松地獲取了HTML信息。但是,很顯然,很多信息是我們不想看到的,我們只想獲得如右側(cè)所示的正文內(nèi)容,我們不關(guān)心那些看著眼暈的英文字母。如何把正文內(nèi)容從這些眾多的HTML信息中提取出來呢?這就是本小節(jié)實戰(zhàn)的主要內(nèi)容。

(3)Beautiful Soup

爬蟲的第一步,獲取整個網(wǎng)頁的HTML信息,我們已經(jīng)完成。接下來就是爬蟲的第二步,解析HTML信息,提取我們感興趣的內(nèi)容。對于本小節(jié)的實戰(zhàn),我們感興趣的內(nèi)容就是文章的正文。提取的方法有很多,例如使用正則表達(dá)式、Xpath、Beautiful Soup等。對于初學(xué)者而言,最容易理解,并且使用簡單的方法就是使用Beautiful Soup提取感興趣內(nèi)容。

Beautiful Soup的安裝方法和requests一樣,使用如下指令安裝(也是二選一):

  • pip install beautifulsoup4

  • easy_install beautifulsoup4

一個強(qiáng)大的第三方庫,都會有一個詳細(xì)的官方文檔。我們很幸運,Beautiful Soup也是有中文的官方文檔。URL:http://beautifulsoup.readthedocs.io/zh_CN/latest/

同理,我會根據(jù)實戰(zhàn)需求,講解Beautiful Soup庫的部分使用方法,更詳細(xì)的內(nèi)容,請查看官方文檔。

現(xiàn)在,我們使用已經(jīng)掌握的審查元素方法,查看一下我們的目標(biāo)頁面,你會看到如下內(nèi)容:

不難發(fā)現(xiàn),文章的所有內(nèi)容都放在了一個名為p的“東西下面”,這個"東西"就是html標(biāo)簽。HTML標(biāo)簽是HTML語言中最基本的單位,HTML標(biāo)簽是HTML最重要的組成部分。不理解,沒關(guān)系,我們再舉個簡單的例子:一個女人的包包里,會有很多東西,她們會根據(jù)自己的習(xí)慣將自己的東西進(jìn)行分類。鏡子和口紅這些會經(jīng)常用到的東西,回歸放到容易拿到的外側(cè)口袋里。那些不經(jīng)常用到,需要注意安全存放的證件會被放到不容易拿到的里側(cè)口袋里。

html標(biāo)簽就像一個個“口袋”,每個“口袋”都有自己的特定功能,負(fù)責(zé)存放不同的內(nèi)容。顯然,上述例子中的p標(biāo)簽下存放了我們關(guān)心的正文內(nèi)容。這個p標(biāo)簽是這樣的:

<p id="content", class="showtxt">

細(xì)心的朋友可能已經(jīng)發(fā)現(xiàn),除了p字樣外,還有id和class。id和class就是p標(biāo)簽的屬性,content和showtxt是屬性值,一個屬性對應(yīng)一個屬性值。這東西有什么用?它是用來區(qū)分不同的p標(biāo)簽的,因為p標(biāo)簽可以有很多,我們怎么加以區(qū)分不同的p標(biāo)簽?zāi)??就是通過不同的屬性值。

仔細(xì)觀察目標(biāo)網(wǎng)站一番,我們會發(fā)現(xiàn)這樣一個事實:class屬性為showtxt的p標(biāo)簽,獨一份!這個標(biāo)簽里面存放的內(nèi)容,是我們關(guān)心的正文部分。

知道這個信息,我們就可以使用Beautiful Soup提取我們想要的內(nèi)容了,編寫代碼如下:

# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests if __name__ == "__main__": target = 'http://www.biqukan.com/1_1094/5403177.html' req = requests.get(url = target) html = req.text bf = BeautifulSoup(html) texts = bf.find_all('p', class_ = 'showtxt') print(texts)

在解析html之前,我們需要創(chuàng)建一個Beautiful Soup對象。BeautifulSoup函數(shù)里的參數(shù)就是我們已經(jīng)獲得的html信息。然后我們使用find_all方法,獲得html信息中所有class屬性為showtxt的p標(biāo)簽。find_all方法的第一個參數(shù)是獲取的標(biāo)簽名,第二個參數(shù)class_是標(biāo)簽的屬性,為什么不是class,而帶了一個下劃線呢?因為python中class是關(guān)鍵字,為了防止沖突,這里使用class_表示標(biāo)簽的class屬性,class_后面跟著的showtxt就是屬性值了??聪挛覀円ヅ涞臉?biāo)簽格式:

<p id="content", class="showtxt">

這樣對應(yīng)的看一下,是不是就懂了?可能有人會問了,為什么不是find_all('p', id = 'content', class_ = 'showtxt')?這樣其實也是可以的,屬性是作為查詢時候的約束條件,添加一個class_='showtxt'條件,我們就已經(jīng)能夠準(zhǔn)確匹配到我們想要的標(biāo)簽了,所以我們就不必再添加id這個屬性了。運行代碼查看我們匹配的結(jié)果:

我們可以看到,我們已經(jīng)順利匹配到我們關(guān)心的正文內(nèi)容,但是還有一些我們不想要的東西。比如p標(biāo)簽名,br標(biāo)簽,以及各種空格。怎么去除這些東西呢?我們繼續(xù)編寫代碼:

# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests if __name__ == "__main__": target = 'http://www.biqukan.com/1_1094/5403177.html' req = requests.get(url = target) html = req.text bf = BeautifulSoup(html) texts = bf.find_all('p', class_ = 'showtxt') print(texts[0].text.replace('xa0'*8,'nn'))

find_all匹配的返回的結(jié)果是一個列表。提取匹配結(jié)果后,使用text屬性,提取文本內(nèi)容,濾除br標(biāo)簽。隨后使用replace方法,剔除空格,替換為回車進(jìn)行分段。 在html中是用來表示空格的。replace('xa0'*8,'nn')就是去掉下圖的八個空格符號,并用回車代替:

程序運行結(jié)果如下:

可以看到,我們很自然的匹配到了所有正文內(nèi)容,并進(jìn)行了分段。我們已經(jīng)順利獲得了一個章節(jié)的內(nèi)容,要想下載正本小說,我們就要獲取每個章節(jié)的鏈接。我們先分析下小說目錄,URL:http://www.biqukan.com/1_1094/

通過審查元素,我們發(fā)現(xiàn)可以發(fā)現(xiàn),這些章節(jié)都存放在了class屬性為listmain的p標(biāo)簽下,選取部分html代碼如下:

<p class="listmain"> <dl> <dt>《一念永恒》最新章節(jié)列表</dt> <dd><a href="/1_1094/15932394.html">第1027章 第十道門</a></dd> <dd><a href="/1_1094/15923072.html">第1026章 絕倫道法!</a></dd> <dd><a href="/1_1094/15921862.html">第1025章 長生燈!</a></dd> <dd><a href="/1_1094/15918591.html">第1024章 一目晶淵</a></dd> <dd><a href="/1_1094/15906236.html">第1023章 通天道門</a></dd> <dd><a href="/1_1094/15903775.html">第1022章 四大兇獸!</a></dd> <dd><a href="/1_1094/15890427.html">第1021章 鱷首!</a></dd> <dd><a href="/1_1094/15886627.html">第1020章 一觸即發(fā)!</a></dd> <dd><a href="/1_1094/15875306.html">第1019章 魁祖的氣息!</a></dd> <dd><a href="/1_1094/15871572.html">第1018章 絕望的魁皇城</a></dd> <dd><a href="/1_1094/15859514.html">第1017章 我還是恨你!</a></dd> <dd><a href="/1_1094/15856137.html">第1016章 從來沒有世界之門!</a></dd> <dt>《一念永恒》正文卷</dt> <dd><a href="/1_1094/5386269.html">外傳1 柯父。</a></dd> <dd><a href="/1_1094/5386270.html">外傳2 楚玉嫣。</a></dd> <dd><a href="/1_1094/5386271.html">外傳3 鸚鵡與皮凍。</a></dd> <dd><a href="/1_1094/5403177.html">第一章 他叫白小純</a></dd> <dd><a href="/1_1094/5428081.html">第二章 火灶房</a></dd> <dd><a href="/1_1094/5433843.html">第三章 六句真言</a></dd> <dd><a href="/1_1094/5447905.html">第四章 煉靈</a></dd> </dl> </p>

在分析之前,讓我們先介紹一個概念:父節(jié)點、子節(jié)點、孫節(jié)點。<p>和</p>限定了<p>標(biāo)簽的開始和結(jié)束的位置,他們是成對出現(xiàn)的,有開始位置,就有結(jié)束位置。我們可以看到,在<p>標(biāo)簽包含<dl>標(biāo)簽,那這個<dl>標(biāo)簽就是<p>標(biāo)簽的子節(jié)點,<dl>標(biāo)簽又包含<dt>標(biāo)簽和<dd>標(biāo)簽,那么<dt>標(biāo)簽和<dd>標(biāo)簽就是<p>標(biāo)簽的孫節(jié)點。有點繞?那你記住這句話:誰包含誰,誰就是誰兒子!

他們之間的關(guān)系都是相對的。比如對于<dd>標(biāo)簽,它的子節(jié)點是<a>標(biāo)簽,它的父節(jié)點是<dl>標(biāo)簽。這跟我們?nèi)耸且粯拥?,上有老下有小?/P>

看到這里可能有人會問,這有好多<dd>標(biāo)簽和<a>標(biāo)簽??!不同的<dd>標(biāo)簽,它們是什么關(guān)系???顯然,兄弟姐妹嘍!我們稱它們?yōu)樾值芙Y(jié)點。

好了,概念明確清楚,接下來,讓我們分析一下問題。我們看到每個章節(jié)的名字存放在了<a>標(biāo)簽里面。<a>標(biāo)簽還有一個href屬性。這里就不得不提一下<a>標(biāo)簽的定義了,<a> 標(biāo)簽定義了一個超鏈接,用于從一張頁面鏈接到另一張頁面。<a> 標(biāo)簽最重要的屬性是 href 屬性,它指示鏈接的目標(biāo)。

我們將之前獲得的第一章節(jié)的URL和<a> 標(biāo)簽對比看一下:

http://www.biqukan.com/1_1094/5403177.html <a href="/1_1094/5403177.html">第一章 他叫白小純</a>

不難發(fā)現(xiàn),<a> 標(biāo)簽中href屬性存放的屬性值/1_1094/5403177.html是章節(jié)URLhttp://www.biqukan.com/1_1094/5403177.html的后半部分。其他章節(jié)也是如此!那這樣,我們就可以根據(jù)<a> 標(biāo)簽的href屬性值獲得每個章節(jié)的鏈接和名稱了。

總結(jié)一下:小說每章的鏈接放在了class屬性為listmain的<p>標(biāo)簽下的<a>標(biāo)簽中。鏈接具體位置放在html->body->p->dl->dd->a的href屬性中。先匹配class屬性為listmain的<p>標(biāo)簽,再匹配<a>標(biāo)簽。編寫代碼如下:

# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests if __name__ == "__main__": target = 'http://www.biqukan.com/1_1094/' req = requests.get(url = target) html = req.text p_bf = BeautifulSoup(html) p = p_bf.find_all('p', class_ = 'listmain') print(p[0])

還是使用find_all方法,運行結(jié)果如下:

很順利,接下來再匹配每一個<a>標(biāo)簽,并提取章節(jié)名和章節(jié)文章。如果我們使用Beautiful Soup匹配到了下面這個<a>標(biāo)簽,如何提取它的href屬性和<a>標(biāo)簽里存放的章節(jié)名呢?

<a href="/1_1094/5403177.html">第一章 他叫白小純</a>

方法很簡單,對Beautiful Soup返回的匹配結(jié)果a,使用a.get('href')方法就能獲取href的屬性值,使用a.string就能獲取章節(jié)名,編寫代碼如下:

# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests if __name__ == "__main__": server = 'http://www.biqukan.com/' target = 'http://www.biqukan.com/1_1094/' req = requests.get(url = target) html = req.text p_bf = BeautifulSoup(html) p = p_bf.find_all('p', class_ = 'listmain') a_bf = BeautifulSoup(str(p[0])) a = a_bf.find_all('a') for each in a: print(each.string, server + each.get('href'))

因為find_all返回的是一個列表,里邊存放了很多的<a>標(biāo)簽,所以使用for循環(huán)遍歷每個<a>標(biāo)簽并打印出來,運行結(jié)果如下。

最上面匹配的一千多章的內(nèi)容是最新更新的12章節(jié)的鏈接。這12章內(nèi)容會和下面的重復(fù),所以我們要濾除,除此之外,還有那3個外傳,我們也不想要。這些都簡單地剔除就好。

(3)整合代碼

每個章節(jié)的鏈接、章節(jié)名、章節(jié)內(nèi)容都有了。接下來就是整合代碼,將獲得內(nèi)容寫入文本文件存儲就好了。編寫代碼如下:

# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests, sys """ 類說明:下載《筆趣看》網(wǎng)小說《一念永恒》 Parameters: 無 Returns: 無 Modify: 2017-09-13 """ class downloader(object): def __init__(self): self.server = 'http://www.biqukan.com/' self.target = 'http://www.biqukan.com/1_1094/' self.names = [] #存放章節(jié)名 self.urls = [] #存放章節(jié)鏈接 self.nums = 0 #章節(jié)數(shù) """ 函數(shù)說明:獲取下載鏈接 Parameters: 無 Returns: 無 Modify: 2017-09-13 """ def get_download_url(self): req = requests.get(url = self.target) html = req.text p_bf = BeautifulSoup(html) p = p_bf.find_all('p', class_ = 'listmain') a_bf = BeautifulSoup(str(p[0])) a = a_bf.find_all('a') self.nums = len(a[15:]) #剔除不必要的章節(jié),并統(tǒng)計章節(jié)數(shù) for each in a[15:]: self.names.append(each.string) self.urls.append(self.server + each.get('href')) """ 函數(shù)說明:獲取章節(jié)內(nèi)容 Parameters: target - 下載連接(string) Returns: texts - 章節(jié)內(nèi)容(string) Modify: 2017-09-13 """ def get_contents(self, target): req = requests.get(url = target) html = req.text bf = BeautifulSoup(html) texts = bf.find_all('p', class_ = 'showtxt') texts = texts[0].text.replace('xa0'*8,'nn') return texts """ 函數(shù)說明:將爬取的文章內(nèi)容寫入文件 Parameters: name - 章節(jié)名稱(string) path - 當(dāng)前路徑下,小說保存名稱(string) text - 章節(jié)內(nèi)容(string) Returns: 無 Modify: 2017-09-13 """ def writer(self, name, path, text): write_flag = True with open(path, 'a', encoding='utf-8') as f: f.write(name + 'n') f.writelines(text) f.write('nn') if __name__ == "__main__": dl = downloader() dl.get_download_url() print('《一年永恒》開始下載:') for i in range(dl.nums): dl.writer(dl.names[i], '一念永恒.txt', dl.get_contents(dl.urls[i])) sys.stdout.write(" 已下載:%.3f%%" % float(i/dl.nums) + 'r') sys.stdout.flush() print('《一年永恒》下載完成')

很簡單的程序,單進(jìn)程跑,沒有開進(jìn)程池。下載速度略慢,喝杯茶休息休息吧。代碼運行效果如下圖所示:

2. 優(yōu)美壁紙下載

(1)實戰(zhàn)背景

已經(jīng)會爬取文字了,是不是感覺爬蟲還是蠻好玩的呢?接下來,讓我們進(jìn)行一個進(jìn)階實戰(zhàn),了解一下反爬蟲。URL:https://unsplash.com/

看一看這些優(yōu)美的壁紙,這個網(wǎng)站的名字叫做Unsplash,免費高清壁紙分享網(wǎng)是一個堅持每天分享高清的攝影圖片的站點,每天更新一張高質(zhì)量的圖片素材,全是生活中的景象作品,清新的生活氣息圖片可以作為桌面壁紙也可以應(yīng)用于各種需要的環(huán)境。

看到這么優(yōu)美的圖片,我的第一反應(yīng)就是想收藏一些,作為知乎文章的題圖再好不過了。每張圖片我都很喜歡,批量下載吧,不多爬,就下載50張好了。

(2)實戰(zhàn)進(jìn)階

我們已經(jīng)知道了每個html標(biāo)簽都有各自的功能。<a>標(biāo)簽存放一下超鏈接,圖片存放在哪個標(biāo)簽里呢?html規(guī)定,圖片統(tǒng)統(tǒng)給我放到<img>標(biāo)簽中!既然這樣,我們截取就Unsplash網(wǎng)站中的一個<img>標(biāo)簽,分析一下:

<img alt="Snow-capped mountain slopes under blue sky" src="https://images.unsplash.com/photo-1428509774491-cfac96e12253?dpr=1&auto=compress,format&fit=crop&w=360&h=240&q=80&cs=tinysrgb&crop=" class="cV68d" style="width: 220px; height: 147px;">

可以看到,<img>標(biāo)簽有很多屬性,有alt、src、class、style屬性,其中src屬性存放的就是我們需要的圖片保存地址,我們根據(jù)這個地址就可以進(jìn)行圖片的下載。

那么,讓我們先捋一捋這個過程:

  • 使用requeusts獲取整個網(wǎng)頁的HTML信息;

  • 使用Beautiful Soup解析HTML信息,找到所有<img>標(biāo)簽,提取src屬性,獲取圖片存放地址;

  • 根據(jù)圖片存放地址,下載圖片。

我們信心滿滿地按照這個思路爬取Unsplash試一試,編寫代碼如下:

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'https://unsplash.com/' req = requests.get(url=target) print(req.text)

按照我們的設(shè)想,我們應(yīng)該能找到很多<img>標(biāo)簽。但是我們發(fā)現(xiàn),除了一些<>標(biāo)簽和一些看不懂的代碼之外,我們一無所獲,一個<img>標(biāo)簽都沒有!跟我們在網(wǎng)站審查元素的結(jié)果完全不一樣,這是為什么?

答案就是,這個網(wǎng)站的所有圖片都是動態(tài)加載的!網(wǎng)站有靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站之分,上一個實戰(zhàn)爬取的網(wǎng)站是靜態(tài)網(wǎng)站,而這個網(wǎng)站是動態(tài)網(wǎng)站,動態(tài)加載有一部分的目的就是為了反爬蟲。

對于什么是動態(tài)加載,你可以這樣理解:

我們知道化妝術(shù)學(xué)的好,賊厲害,可以改變一個人的容貌。相應(yīng)的,動態(tài)加載用的好,也賊厲害,可以改變一個網(wǎng)站的容貌。

動態(tài)網(wǎng)站使用動態(tài)加載常用的手段就是通過調(diào)用Java來實現(xiàn)的。怎么實現(xiàn)Java動態(tài)加載,我們不必深究,我們只要知道,動態(tài)加載的Java腳本,就像化妝術(shù)需要用的化妝品,五花八門。有粉底、口紅、睫毛膏等等,它們都有各自的用途。動態(tài)加載的Java腳本也一樣,一個動態(tài)加載的網(wǎng)站可能使用很多Java腳本,我們只要找到負(fù)責(zé)動態(tài)加載圖片的Java腳本,不就找到我們需要的鏈接了嗎?

對于初學(xué)者,我們不必看懂Java執(zhí)行的內(nèi)容是什么,做了哪些事情,因為我們有強(qiáng)大的抓包工具,它自然會幫我們分析。這個強(qiáng)大的抓包工具就是Fiddler。URL:http://www.telerik.com/fiddler

PS:也可以使用瀏覽器自帶的Networks,但是我更推薦這個軟件,因為它操作起來更高效。

安裝方法很簡單,傻瓜式安裝,一直下一步即可,對于經(jīng)常使用電腦的人來說,應(yīng)該沒有任何難度。

這個軟件的使用方法也很簡單,打開軟件,然后用瀏覽器打開我們的目標(biāo)網(wǎng)站,以Unsplash為例,抓包結(jié)果如下:

我們可以看到,上圖左側(cè)紅框處是我們的GET請求的地址,就是網(wǎng)站的URL,右下角是服務(wù)器返回的信息,我們可以看到,這些信息也是我們上一個程序獲得的信息。這個不是我們需要的鏈接,我們繼續(xù)往下看。

我們發(fā)現(xiàn)上圖所示的就是一個Java請求,看右下側(cè)服務(wù)器返回的信息是一個json格式的數(shù)據(jù)。這里面,就有我們需要的內(nèi)容。我們局部放大看一下:

這是Fiddler右側(cè)的信息,上面是請求的Headers信息,包括這個Java的請求地 址:http://unsplash.com/napi/feeds/home,其他信息我們先不管,我們看看下面的內(nèi)容。里面有很多圖片的信息,包括圖片的id,圖片的大小,圖片的鏈接,還有下一頁的地址。這個腳本以json格式存儲傳輸?shù)臄?shù)據(jù),json格式是一種輕量級的數(shù)據(jù)交換格式,起到封裝數(shù)據(jù)的作用,易于人閱讀和編寫,同時也易于機(jī)器解析和生成。這么多鏈接,可以看到圖片的鏈接有很多,根據(jù)哪個鏈接下載圖片呢?先別急,讓我們繼續(xù)分析:

在這個網(wǎng)站,我們可以按這個按鈕進(jìn)行圖片下載。我們抓包分下下這個動作,看看發(fā)送了哪些請求。

https://unsplash.com/photos/1PrQ2mHW-Fo/download?force=true https://unsplash.com/photos/JX7nDtafBcU/download?force=true https://unsplash.com/photos/HCVbP3zqX4k/download?force=true

通過Fiddler抓包,我們發(fā)現(xiàn),點擊不同圖片的下載按鈕,GET請求的地址都是不同的。但是它們很有規(guī)律,就是中間有一段代碼是不一樣的,其他地方都一樣。中間那段代碼是不是很熟悉?沒錯,它就是我們之前抓包分析得到j(luò)son數(shù)據(jù)中的照片的id。我們只要解析出每個照片的id,就可以獲得圖片下載的請求地址,然后根據(jù)這個請求地址,我們就可以下載圖片了。那么,現(xiàn)在的首要任務(wù)就是解析json數(shù)據(jù)了。

json格式的數(shù)據(jù)也是分層的??梢钥吹絥ext_page里存放的是下一頁的請求地址,很顯然Unsplash下一頁的內(nèi)容,也是動態(tài)加載的。在photos下面的id里,存放著圖片的id,這個就是我們需要獲得的圖片id號。

怎么編程提取這些json數(shù)據(jù)呢?我們也是分步完成:

  • 獲取整個json數(shù)據(jù)

  • 解析json數(shù)據(jù)

編寫代碼,嘗試獲取json數(shù)據(jù):

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://unsplash.com/napi/feeds/home' req = requests.get(url=target) print(req.text)

很遺憾,程序報錯了,問題出在哪里?通過錯誤信息,我們可以看到SSL認(rèn)證錯誤,SSL認(rèn)證是指客戶端到服務(wù)器端的認(rèn)證。一個非常簡單的解決這個認(rèn)證錯誤的方法就是設(shè)置requests.get()方法的verify參數(shù)。這個參數(shù)默認(rèn)設(shè)置為True,也就是執(zhí)行認(rèn)證。我們將其設(shè)置為False,繞過認(rèn)證不就可以了?

有想法就要嘗試,編寫代碼如下:

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://unsplash.com/napi/feeds/home' req = requests.get(url=target, verify=False) print(req.text)

認(rèn)證問題解決了,又有新問題了:

可以看到,我們GET請求又失敗了,這是為什么?這個網(wǎng)站反爬蟲的手段除了動態(tài)加載,還有一個反爬蟲手段,那就是驗證Request Headers。接下來,讓我們分析下這個Requests Headers:

我截取了Fiddler的抓包信息,可以看到Requests Headers里又很多參數(shù),有Accept、Accept-Encoding、Accept-Language、DPR、User-Agent、Viewport-Width、accept-version、Referer、x-unsplash-client、authorization、Connection、Host。它們都是什么意思呢?

專業(yè)的解釋能說的太多,我挑重點:

  • User-Agent:這里面存放瀏覽器的信息??梢钥吹缴蠄D的參數(shù)值,它表示我是通過Windows的Chrome瀏覽器,訪問的這個服務(wù)器。如果我們不設(shè)置這個參數(shù),用Python程序直接發(fā)送GET請求,服務(wù)器接受到的User-Agent信息就會是一個包含python字樣的User-Agent。如果后臺設(shè)計者驗證這個User-Agent參數(shù)是否合法,不讓帶Python字樣的User-Agent訪問,這樣就起到了反爬蟲的作用。這是一個最簡單的,最常用的反爬蟲手段。

  • Referer:這個參數(shù)也可以用于反爬蟲,它表示這個請求是從哪發(fā)出的??梢钥吹轿覀兺ㄟ^瀏覽器訪問網(wǎng)站,這個請求是從https://unsplash.com/,這個地址發(fā)出的。如果后臺設(shè)計者,驗證這個參數(shù),對于不是從這個地址跳轉(zhuǎn)過來的請求一律禁止訪問,這樣就也起到了反爬蟲的作用。

  • authorization:這個參數(shù)是基于AAA模型中的身份驗證信息允許訪問一種資源的行為。在我們用瀏覽器訪問的時候,服務(wù)器會為訪問者分配這個用戶ID。如果后臺設(shè)計者,驗證這個參數(shù),對于沒有用戶ID的請求一律禁止訪問,這樣就又起到了反爬蟲的作用。

Unsplash是根據(jù)哪個參數(shù)反爬蟲的呢?根據(jù)我的測試,是authorization。我們只要通過程序手動添加這個參數(shù),然后再發(fā)送GET請求,就可以順利訪問了。怎么什么設(shè)置呢?還是requests.get()方法,我們只需要添加headers參數(shù)即可。編寫代碼如下:

# -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://unsplash.com/napi/feeds/home' headers = {'authorization':'your Client-ID'} req = requests.get(url=target, headers=headers, verify=False) print(req.text)

headers參數(shù)值是通過字典傳入的。記得將上述代碼中your Client-ID換成諸位自己抓包獲得的信息。代碼運行結(jié)果如下:

皇天不負(fù)有心人,可以看到我們已經(jīng)順利獲得json數(shù)據(jù)了,里面有next_page和照片的id。接下來就是解析json數(shù)據(jù)。根據(jù)我們之前分析可知,next_page放在了json數(shù)據(jù)的最外側(cè),照片的id放在了photos->id里。我們使用json.load()方法解析數(shù)據(jù),編寫代碼如下:

# -*- coding:UTF-8 -*- import requests, json if __name__ == '__main__': target = 'http://unsplash.com/napi/feeds/home' headers = {'authorization':'your Client-ID'} req = requests.get(url=target, headers=headers, verify=False) html = json.loads(req.text) next_page = html['next_page'] print('下一頁地址:',next_page) for each in html['photos']: print('圖片ID:',each['id'])

解析json數(shù)據(jù)很簡單,跟字典操作一樣,就是字典套字典。json.load()里面的參數(shù)是原始的json格式的數(shù)據(jù)。程序運行結(jié)果如下:

圖片的ID已經(jīng)獲得了,再通過字符串處理一下,就生成了我們需要的圖片下載請求地址。根據(jù)這個地址,我們就可以下載圖片了。下載方式,使用直接寫入文件的方法。

(3)整合代碼

每次獲取鏈接加一個1s延時,因為人在瀏覽頁面的時候,翻頁的動作不可能太快。我們要讓我們的爬蟲盡量友好一些。

# -*- coding:UTF-8 -*- import requests, json, time, sys from contextlib import closing class get_photos(object): def __init__(self): self.photos_id = [] self.download_server = 'https://unsplash.com/photos/xxx/download?force=trues' self.target = 'http://unsplash.com/napi/feeds/home' self.headers = {'authorization':'your Client-ID'} """ 函數(shù)說明:獲取圖片ID Parameters: 無 Returns: 無 Modify: 2017-09-13 """ def get_ids(self): req = requests.get(url=self.target, headers=self.headers, verify=False) html = json.loads(req.text) next_page = html['next_page'] for each in html['photos']: self.photos_id.append(each['id']) time.sleep(1) for i in range(4): req = requests.get(url=next_page, headers=self.headers, verify=False) html = json.loads(req.text) next_page = html['next_page'] for each in html['photos']: self.photos_id.append(each['id']) time.sleep(1) """ 函數(shù)說明:圖片下載 Parameters: 無 Returns: 無 Modify: 2017-09-13 """ def download(self, photo_id, filename): headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36'} target = self.download_server.replace('xxx', photo_id) with closing(requests.get(url=target, stream=True, verify = False, headers = self.headers)) as r: with open('%d.jpg' % filename, 'ab+') as f: for chunk in r.iter_content(chunk_size = 1024): if chunk: f.write(chunk) f.flush() if __name__ == '__main__': gp = get_photos() print('獲取圖片連接中:') gp.get_ids() print('圖片下載中:') for i in range(len(gp.photos_id)): print(' 正在下載第%d張圖片' % (i+1)) gp.download(gp.photos_id[i], (i+1))

下載速度還行,有的圖片下載慢是因為圖片太大??梢钥吹接覀?cè)也打印了一些警報信息,這是因為我們沒有進(jìn)行SSL驗證。

學(xué)會了爬取圖片,簡單的動態(tài)加載的網(wǎng)站也難不倒你了。趕快試試國內(nèi)的一些圖片網(wǎng)站吧!

3. 愛奇藝VIP視頻下載

(1)實戰(zhàn)背景

愛奇藝的VIP視頻只有會員能看,普通用戶只能看前6分鐘。比如加勒比海盜5的URL:http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1

我們怎么免費看VIP視頻呢?一個簡單的方法,就是通過旋風(fēng)視頻VIP解析網(wǎng)站。URL:http://api.xfsub.com/

這個網(wǎng)站為我們提供了免費的視頻解析,它的通用解析方式是:

http://api.xfsub.com/index.php?url=[播放地址或視頻id]

比如,對于繡春刀這個電影,我們只需要在瀏覽器地址欄輸入:

http://api.xfsub.com/index.php?url=http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1

這樣,我們就可以在線觀看這些VIP視頻了:

但是這個網(wǎng)站只提供了在線解析視頻的功能,沒有提供下載接口,如果想把視頻下載下來,我們就可以利用網(wǎng)絡(luò)爬蟲進(jìn)行抓包,將視頻下載下來。

(2)實戰(zhàn)升級

分析方法相同,我們使用Fiddler進(jìn)行抓包:

我們可以看到,有用的請求并不多,我們逐條分析。我們先看第一個請求返回的信息。

可以看到第一個請求是GET請求,沒有什么有用的信息,繼續(xù)看下一條。

我們看到,第二條GET請求地址變了,并且在返回的信息中,我們看到,這個網(wǎng)頁執(zhí)行了一個POST請求。POST請求是啥呢?它跟GET請求正好相反,GET是從服務(wù)器獲得數(shù)據(jù),而POST請求是向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器再根據(jù)POST請求的參數(shù),返回相應(yīng)的內(nèi)容。這個POST請求有四個參數(shù),分別為time、key、url、type。記住這個有用的信息,我們在抓包結(jié)果中,找一下這個請求,看看這個POST請求做了什么。

很顯然,這個就是我們要找的POST請求,我們可以看到POST請求的參數(shù)以及返回的json格式的數(shù)據(jù)。其中url存放的參數(shù)如下:

xfsub_api/url.php?key=02896e4af69fb18f70129b6046d7c718&time=1505724557&url=http%3A%2F%2Fwww.iqiyi.com%2Fv_19rr7qhfg0.html&type=&xml=1

這個信息有轉(zhuǎn)義了,但是沒有關(guān)系,我們手動提取一下,變成如下形式:

xfsub_api/url.php?key=02896e4af69fb18f70129b6046d7c718&time=1505724557&url=http://www.iqiyi.com/v_19rr7qhfg0.html&type=&xml=1

我們已經(jīng)知道了這個解析視頻的服務(wù)器的域名,再把域名加上:

http://api.xfsub.com/xfsub_apiurl.php?key=02896e4af69fb18f70129b6046d7c718&time=1505724557&url=http://www.iqiyi.com/v_19rr7qhfg0.html&type=&xml=1

這里面存放的是什么東西?不會視頻解析后的地址吧?我們有瀏覽器打開這個地址看一下:

果然,我們可以看到視頻地址近在眼前啊,URL如下:

http://disp.titan.mgtv.com/vod.do?fmt=4&pno=1121&fid=1FEA2622E0BD9A1CA625FBE9B5A238A6&file=/c1/2017/09/06_0/1FEA2622E0BD9A1CA625FBE9B5A238A6_20170906_1_1_705.mp4

我們再打開這個視頻地址:

瞧,我們就這樣得到了這個視頻在服務(wù)器上的緩存地址。根據(jù)這個地址,我們就可以輕松下載視頻了。

PS:需要注意一點,這些URL地址,都是有一定時效性的,很快就會失效,因為里面包含時間信息。所以,各位在分析的時候,要根據(jù)自己的URL結(jié)果打開網(wǎng)站才能看到視頻。

接下來,我們的任務(wù)就是編程實現(xiàn)我們所分析的步驟,根據(jù)不同的視頻播放地址獲得視頻存放的地址。

現(xiàn)在梳理一下編程思路:

  • 用正則表達(dá)式匹配到key、time、url等信息。

  • 根據(jù)匹配的到信息發(fā)POST請求,獲得一個存放視頻信息的url。

  • 根據(jù)這個url獲得視頻存放的地址。

  • 根據(jù)最終的視頻地址,下載視頻。

(3)編寫代碼

編寫代碼的時候注意一個問題,就是我們需要使用requests.session()保持我們的會話請求。簡單理解就是,在初次訪問服務(wù)器的時候,服務(wù)器會給你分配一個身份證明。我們需要拿著這個身份證去繼續(xù)訪問,如果沒有這個身份證明,服務(wù)器就不會再讓你訪問。這也就是這個服務(wù)器的反爬蟲手段,會驗證用戶的身份。

思路已經(jīng)給出,希望喜歡爬蟲的人可以在運行下代碼之后,自己重頭編寫程序,因為只有經(jīng)過自己分析和測試之后,才能真正明白這些代碼的意義。上述代碼運行結(jié)果如下:

我們已經(jīng)順利獲得了mp4這個視頻文件地址。根據(jù)視頻地址,使用 urllib.request.urlretrieve() 即可將視頻下載下來。編寫代碼如下:

urlretrieve()有三個參數(shù),第一個url參數(shù)是視頻存放的地址,第二個參數(shù)filename是保存的文件名,最后一個是回調(diào)函數(shù),它方便我們查看下載進(jìn)度。代碼量不大,很簡單,主要在于分析過程。代碼運行結(jié)果如下:

下載速度挺快的,幾分鐘視頻下載好了。

對于這個程序,感興趣的朋友可以進(jìn)行擴(kuò)展一下,設(shè)計出一個小軟件,根據(jù)用戶提供的url,提供PC在線觀看、手機(jī)在線觀看、視頻下載等功能。

四、總結(jié)

  • 爬蟲時效性低,同樣的思路過了一個月,甚至一周可能無法使用,但是爬取思路都是如此,完全可以自行分析。

  • 本次實戰(zhàn)代碼,均已上傳我的Github,歡迎Follow、Star:

    https://github.com/Jack-Cherish/python-spider

  • 如有問題,請留言。如有錯誤,還望指正,謝謝!

51日日夜夜精品视频| 亚洲欧美 在线视频| 日韩av卡一卡二卡三| 精品岛国产熟女人妻欲求不满| 免费一级黄色片麻豆系列| julia 人妻中文字幕| 最大最全av中文字幕网| 99久久夜色精品国产亚洲软件| 少妇内射的视频一区二区| 日韩伦理一区二区三区有码| 最新亚洲成人黄色片| 成年人中文字幕视频网| 九九热在线这里只有精品| 超碰在线97人人草| 国产伦精品一区二区黑人| 91大屁股人妻porn| 亚洲综合一区二区人妻| 日本美国亚洲一区二区| 亚洲av一区视频在线观看| 亚洲国产精品成人久久动漫| 久久亚洲伊人99精品影院| 日韩性爱视频无码三级片| 天天日天天色天天摸| 丝袜美腿视频诱惑亚洲| 日本av毛片在线播放| 黑人系列哪个最猛番号| 丝袜制服 亚洲 国产 91| 青青草青青草成人免费公开| 大秀视频一区二区三区| 操白嫩人妻少妇真爽视频| 人妻熟女一区二区aⅴ佐佐木明希| 黄色av日韩免费在线观看| 亚洲欧美另类专区第一页| 国产剧情免费在线观看| 中国熟妇丰满大乳大屁股 | 1717精品视频在线观看| 91人妻精品动漫一区二区三区| 天天操天天射天天综合网| 青青草青青草成人免费公开| 人妻久久免费视频中文字幕| 伊人精品在线大香蕉| 日本性少妇xxxx| 亚洲情品中文字幕人妻久久久边 | 在线看片1024你懂得| 农村女人91熟女熟妇| 国产剧情免费在线观看| 大吊插入素人骚穴内射视频播放| 欧美 激情 另类 自拍| 色视频免费在线观看视频| 精品欧美一亚洲精品午夜| 日本中文字幕人妻一区二区| 起碰97视频在线播放| 国产av在线一区二区| 成人免费视频国产免费麻豆下| 中文一区二区三区精品视频| 久久精品国产亚洲av视瓶| 日本公与妇电影三级| 成人熟女一区二区三区| 国产黄a三级三级三级三级三级| 亚洲一级免费av黄色打炮片| 丝袜美腿视频诱惑亚洲| 精品国产污污免费网站aⅴ17| 91久久国产丁香精品中文| 国产视频在线精品视频| 蜜桃av在线网址观看| 午夜剧场欧美一区二区| 青青视频青青成人免费| 丝袜美图一区二区三区| 青青视频青青成人免费| 亚洲人成青青操免费观看| 久久三级片一区二区毛片| 污污污污国产免费入口处| 熟妇人妻va精品中文字幕九色| 超级碰碰碰97免费视频97| 亚洲国产日韩a在线欧美2020| 日本av毛片在线播放| 77777蜜臀精品久久综合| 午夜精选视频在线观看| 老鸭窝最新网址在线| 三级经典三级日本三级欧美| 91人妻精品动漫一区二区三区| 综合另类小说欧美另类图片| 国产精品啪啪啪免费网站| 日本熟妇丰满厨房55| 成人大片免费看45分钟| 天天干夜夜操日日操| 伊人青操在线观看视频网站| 久久精品国产亚洲a| 国产又黄又粗又硬又大又猛的视频 | 日本黄页网络站免费| 精品人妻欧美一区二区| 97超级碰最新在线视频| 手机能看的黄色av| 国产亚洲精品天堂在线观看| 91国内精品视频在线| 欧美一区二区蜜桃视频 | 97偷偷碰在线视频| 欧美最猛黑人xxxx黑人猛交文| 欧美视频在线观看18| 自拍第一页免费视频| 午夜国产福利视频一区二区| 男人天堂新在线电影| 亚洲卡一卡二卡三新区| 最大最全av中文字幕网| 亚洲精品1234区在线看| 五月婷婷综合大香蕉五月天| 人妻不卡一区二区三区| 在线观看小视频国产| 五月桃花网婷婷伊人久久| 天天操天天操天天干天天| 午夜福利精品视频在线观看| 欧美大黑硬鸡巴操骚肥湿逼| 91人妻精品动漫一区二区三区| 国产精品爽黄69天堂ai蜜乳| 一区二区三区欧美日韩电影| 亚洲av男人的天堂久久久| 操女人下阴黄色一级视频| 98视频在线免费观看| 成人一级黄色片免费看| 亚洲高清中文字幕在线的| av网站资源在线观看| 亚洲国产欧美日韩国产| 亚洲一区 成人在线| 十八禁视频一区二区三区四区| 欧美142p极品服务| 伊人青青青在线观看| 99久久久国产精品美女| 亚洲午夜免费精品久久久| 亚洲国产精品成人久久动漫| 奇米一区二区三区视频在线观看| 一区二区三区四区不卡在线观看 | 69精品人妻一区二区| 午夜男女激情福利视频| 黄色av日韩免费在线观看| 欧美久久久久亚洲综合| 精品人妻欧美一区二区| 鸡巴操进我的小穴欧美国产| 91福利精品一区二区| 亚洲国产精品日日夜夜| 国产美女视频在线播放| 96人妻一区=区三区| 少妇美女大极品内射| 99精品视频在线观看专区| 午夜三级影片免费播放| 99久久国产成人免费网站| 国产精品福利免费视频不卡| 人妻夜夜爽av性色大片| 亚洲久久久久久久久久久久久久| 亚洲欧美另类专区第一页| 成人av影视一区在线观看| 午夜精品不卡视频在线观看| 免费观看黄色韩日av| 日韩美女精品一在线观看| 国产a v一区二区三区香蕉| 国产又色又爽又黄又免费的小说| 久久精品国产二区AV无码| 国产美女视频在线播放| xfplay亚洲资源| 少妇高潮尖叫久久久久| 欧美日韩精品久久一区二区三区 | 狠狠操 在线视频 轻轻草 | 熟女吧国产精品一区二区三区| 制服丝袜诱惑综合网| 黑人精品一区a一二区b| 亚洲三级伦理在线播放| www久久久久久久99| av网址大全在线播放| 亚洲图片一区偷拍自拍| 五月天开心激情深爱激情| 五月婷婷免费在线观看视频| 人人妻人人澡人人爽电台app| 国产精品黄色自拍视频| 男的扒开女的下面狂操视频| av精选一区二区久久| 天天干天天日天天超| 青青操视频在线免费| 999在线精品视频观看| 亚洲精品少妇蜜桃久久久| 操人妻视频在线免费观看| 99热这里只有的精品666| 国产欧美日韩经典一区| 日韩伦理一区二区三区有码| 大秀视频一区二区三区| 青青操成人免费在线视频| 免费观看黄色韩日av| 掀开奶罩边吃边摸下娇喘视频| 在线观看小视频国产| 日韩av中文字幕网址| 亚洲日本欧洲一区二区| 中文字幕av网址大全| 操人妻一区二区三区| 在线理论国产高清在线| 精品99久久久久久www| 偷拍自拍 中文字幕| 四川操bb操bb操b| 亚洲精品**不卡在线播he| 亚洲另类熟女国产精品老| 亚洲精品国偷自产久色| 亚洲欧美在线色图动态图| 天天透天天插天天通| 老司机免费福利视频网| 天天睡天天摸天天添天天日天天射| 亚洲人成青青操免费观看| 国产在线视频国产资源| 9l九色自拍蝌蚪9l视频| 日韩成人在线电影,| 欧美黄色免费在线网站| 国自产拍偷拍福利精品免费观看| 天天摸天天干天天插天天操| 亚洲天堂一二三四在线播放| 丝袜美腿色诱视频在线观看| 亚洲精品国偷自产久色| 88888欧美精品久久久| 日本一区二区不卡电影| 大黑鸡巴 狂插 欧亚小嫩逼| 亚洲欧美日韩不卡人妻中文字幕 | 亚洲av网站在线免费观看| 中文字幕日本一本二本三区| Av资源站中文字幕| 未满18禁止入内免费视频| 欧美一级性生活片人与动物| 亚洲一区二区三区邪恶成人| 亚洲一区二区三区免费| 亚洲一区二区成人综合| 久久精品视频全部视频在线| 老鸭窝在线视频国产| av影视在线免费观看| 男人的天堂av最新| 日韩欧美在线一区二区在线| 青青草精品视频在线免费观看| 天天日天天色天天摸| 17c在线观看视频国产aa| 欧美精品黑人粗大破除| 偷拍亚洲另类图片视频| 77777蜜臀精品久久综合| 老男人久久青草av高清| 成人18禁视频网站在线看| 999在线精品视频观看| 国产成人午夜精品视频| 综合久久天天搞天天]| 男人天堂地址在线播放| 91麻豆精品国产91久久久平台| 免费在线观看视频色播| 久久一区二区三区杨幂| 黄色av免费下载软件| 大吊插入素人骚穴内射视频播放| 手机视频在线观看99精品视频| 免费观看黄色韩日av| 部长侵犯人妻一区二区三区| 长久久久久一区二区高清| 97免费人妻超碰97在线| 成人黄色大片免费网站| 成人18禁视频网站在线看| 国产一线女人天堂av| 99久久免费国产特黄| 午夜精品福利一区二区三区p| 久久少妇精品一区二区免费| 欧美丝袜熟女日韩亚洲| 熟女吧国产精品一区二区三区| 天天日天天色天天摸| 亚洲图片一区偷拍自拍| 少妇高潮尖叫久久久久| 熟女吧国产精品一区二区三区| 国产女人露脸高潮对白视频| 日韩无码成人电影一区二区| av在线操亚洲图片| 欧美在线播放一二区不卡| 挺进老妇的肉91九色| 精品国产9999久久久久| 少妇美女大极品内射| 99久久国产成人免费网站| 中文字幕不卡av在线播放| 91亚洲国产成人久久| 亚洲自拍偷拍清纯唯美| 午夜在线看1000集| 久久91精品国产91久久分享| 亚洲欧美精品tv久久久久久久久 | 夜夜骑加勒比天天操| 超碰人人澡人人碰人人| 可以直接在线观看的一区| 中文字幕永久在线一区二区| av中文字幕高清在线| 国产伊人 av 自拍| 91亚洲国产成人久久| 操人妻免费视频观看| 欧美日韩精品久久一区二区三区| 精品99久久久久久www| 九九热在线这里只有精品| 动漫av纯肉免费在线观看| 亚洲图片一区偷拍自拍| 3D美女高跟鞋插穴| 色就色欧美亚洲αv| 亚洲欧美伦理一区二区| 天天日天天看天天摸| 亚洲精品乱码久久观看网| 婷婷av一区二区三区7| 中国福利在线黄色片| 久久亚洲伊人99精品影院| 一区二区三区国产精选在线播放| 国产剧情免费在线观看| 97色 国产精品综合| 91人妻精品动漫一区二区三区| 国产1区2区在线视频| 精品成人午夜免费看| 成人午夜伦理在线观看| 国产熟女一区二区三区四| 好吊视频一区二 区三区视频 | 日韩无码成人电影一区二区| 久久精品国产9久久综合| 大鸡巴操的好爽好舒服啊视频| 国产在线免播放器不卡| 久久精品国产亚洲a| 少妇高潮精品一区二区| 自拍第一页免费视频| 办公室被吃奶好爽在线观看视频 | 大香蕉人妻少妇av| 伊人青青青在线观看| 亚洲中文有码一区二区| 91精彩刺激对白露脸偷拍| 免费阿v视频在线播放| 天天睡天天摸天天添天天日天天射| 亚洲欧美综合区丁香六月| 91麻豆精品国产91久久久平台| 国产原创成人av剧情在线播放| 亚洲欧洲美洲无码在线| 99精品视频在线观看专区| 91亚洲情色在线播放| 亚洲欧美另类图片88| 国产乱人伦av麻豆网| 一区二区三区国产精选在线播放| 神乃麻美三级在线观看视频| 黑人精品一区a一二区b| 91在线视频只有精品| 亚洲人成亚洲人成在线观看com| 久久99精品久久久久久小说| 蜜桃aⅴ噜噜一区二区三区网址| 久久久老熟女一区二区| 欧美视频一区二区三区在线观看| 高清日本欧美亚洲视频| 欧美大长腿美女抽插网站| 国产午夜福利精品久久不卡| 欧美142p极品服务| 变态另类97人妻av| 日韩欧美亚洲在线第一页| 日本不卡少妇视频在线观看| 久re这里只有精品视频| 日日躁夜夜躁狠狠久久av| 午夜在线小视频在线观看| 漂亮人妻被强制中出| 亚洲精品久久久久久久久久蜜桃| 蜜桃aⅴ噜噜一区二区三区网址| www国产精品久久久| 日韩破处精品在线观看| 免费观看日本黄页网站| 91精品久久久久久婷婷高清 | 九月丁香婷婷中文字幕| 欧美一区二区三区乱轮| 操女人下阴黄色一级视频| 亚洲午夜免费精品久久久| 教资是不是人人都可以考| 久久久老熟女一区二区| 在线观看小视频国产| 欧美福利视频一二三| 欧洲日本亚洲一区二区| 美女av网站在线观看| 天天日天天看天天摸| 色婷婷亚洲久久97成人 | 免费阿v视频在线播放| 91久色porny视频在线| 亚洲真人性在线观看| 亚洲国产精彩中文乱码av| 国产精品黄色自拍视频| 中文字幕一区三区二区国产黄色| 免费高清视频在线观看不卡男男| 亚洲 欧美在线视频| 在线中文字幕综合一区| 超级碰碰碰碰碰碰碰碰碰| 91色porny 在线播放| 日韩高清av一区二区三区| 看男破处女人逼黄色片观看| 亚洲综合欧美熟一区| 超碰超碰超碰超碰超碰情侣| 欧美在线观看一级一区二区| 精品视频在线视频精品| fc2精品成人免费观看| 在线播放 国产 真实| 极品国模sm镣铐调教| 欧美 激情 另类 自拍| 18人妻人碰人人做人人爽| 欧美在线一区日韩国产| 51日日夜夜精品视频| 欧美黑人性色黄在线视频| 欧美三级一区二区三区四区五区| 男人天堂新在线电影| 老熟妇乱子伦中文字幕视频| 91久久综合九色综合欧美98| 国产精品久久久久精品蜜月| 成人激情在线一区二区| 一区二区三区国产欧美日韩| 污污污视频在线观看91| 亚洲精品在线观看高清资源| 婷婷av一区二区三区7| 五月婷婷丁香花激情网| 亚洲情品中文字幕人妻久久久边| 中文一区二区三区精品视频| 亚洲欧美伦理一区二区| 日韩美女精品一在线观看| 国产半推半就精品强推视频| 国产熟妇一区二区三区av| 1717精品视频在线观看| 人人妻人人澡人人爽电台app| 丝袜制服 亚洲 国产 91| 女抽插流出张开淫水视频| 最新人妻熟女中文字幕| 国内精品久久久久久久| 一区二区人妻丝袜粉嫩| 91亚洲情色在线播放| 亚洲 网友 在线 观看| 国产在线视频国产资源| 国产福利中文字幕导航| 国内精品久久久久久久| 99精品国产免费久久久久久| 女人看了很爽的一级女毛片| 欧美xxxx视频在线| 四川操bb操bb操b| 特黄特猛aaaaaaaaa片| 性感的人妻在线观看| 少妇高潮精品一区二区| 午夜三级影片免费播放| 国产1区2区在线视频| 五月色婷婷在线视频| 亚洲综合欧美熟一区| 亚洲精品1234区在线看| 精品国产污污免费网站aⅴ17| 隔壁放荡人妻bd完整版| 人妻天天操avxx| 国产熟女一区二区三区四| 91亚洲情色在线播放| 日本少妇人妻久久中文| 偷拍亚洲另类图片视频| 青青草原x全国在线观看| 97免费人妻超碰97在线| 天天干天天日天天超| 亚洲va欧美va人人爽午夜| 亚洲无码精品中的精品| 久久久久久久久久久蜜桃| 看男破处女人逼黄色片观看| 99热6在线播放免费| 欧美精品综合第一页| 不卡一区二区啪啪视频| 98资源站精品视频在线观看| 蜜桃视频18在线观看| 人妻夜夜爽av性色大片| 北条麻妃制服丝袜在线播放| 精品视频在线视频精品| 老鸭窝最新网址在线| 老师让我插进去69AV| 日韩av一区二区三区久久| 人妻夜夜爽av性色大片| 久久视频十八岁亚洲精品久久视频| heyzo久久综合色88| 天天日天天日天天日天天干| 青青草精品视频在线免费观看| 91大屁股人妻porn| 天天日……天天操……天天喷| 天天干夜夜操日日操| 黑人精品一区a一二区b| 人妻a∨在线中文字幕| 亚洲 网友 在线 观看| 久久久亚洲精品熟妇少妇| 蜜臀 av一区二区| 青青操国产精品视频在线| 亚洲综合久久综合网| 欧美亚洲国产校园春色| av在线手机观看一区二区三区| 黑人系列哪个最猛番号| 夭天曰天天躁东京热天天摸| 超碰人妻中文字幕在线| 成人18禁视频网站在线看| 午夜精品福利一区二区三区p| 亚洲欧美国产其他二区| 国产精品午夜在线观看| 久久精品在线观看免费视频| 港台经典一级成人免费av| 欧美黑人天天干夜夜操| 9色自拍视频在线观看| 午夜精品久久99蜜桃| 欧美精品综合第一页| 成人大片免费看45分钟| 国产av在线一区二区| 农村女人91熟女熟妇| 亚洲图片,自拍偷拍网| 在线视频无码理论片| 极品人妻vide0sss人妻| 欧美在线免费污污视频| 93乱子伦国产乱子伦| 久久久亚洲精品熟妇少妇| 久久三级片一区二区毛片| caoporn香蕉在线观看| 欧美色一区二区三区在线观看| 伦人伦xxxx国语对白| 国产盗摄女子私密保健视频| 天天操天天摸天天摸| av一av一av中文字幕| 可以免费看的黄页视频| 日韩欧美亚洲在线第一页| 免费熟女精品一区二区三区| 少妇高潮精品一区二区| 亚洲av网站在线免费观看| 欧美午夜不卡一区二区三区| 亚洲熟妇av一区二区蜜桃第1集| 欧美视频精品免费观看| 少妇人妻不满足中文字幕| 1777中文字幕字幕在线播放| 可以直接在线观看的一区| 亚洲视频综合在线播放| 无人码一区二区三区视频| 手机在线免费视频一区二区三区| 无套内谢少妇高潮毛片免费看 | 瑟瑟的网站在线观看| 男人天堂新在线电影| 日韩伦理一区二区三区有码| 五月天丁香婷久久爱| 日本 久久久 香蕉| 勾引小哥鸡巴操逼视频下载| 男人的坤插进女人的屁股里的视频| 日韩加勒比东京热二区| 亚洲日本一区二区嫩草| 久久久国产视频91| 人人妻人人妻人人妻人人妻人人人| 在线观看小视频国产| 999久久久无码精品免费看片| 嗯~啊~好舒服在线观看| 变态另类97人妻av| 欧美三级一区二区三区四区五区| av国产在线观看网站| 青青青青青青青青青青青青青草| 日本免费播放一区二区三区| 自拍第一页免费视频| av中文字幕在线播放| 筱田优在线播放一区二区三区| 欧美在线观看视频一区五区| 91九色porny国产探花| 国产精品黄色自拍视频| 日日夜夜狠狠干干亚洲| 国产专区视频在线观看免费| 精品岛国产熟女人妻欲求不满| 夭天曰天天躁东京热天天摸| 国产精品欧美日韩久久久免费观看 | 亚洲精品专区一区二区| 成年女人毛片免费在线播放| 中字av在线一区二区中字| 在线播放 国产 真实| 国产成人午夜精品视频| 美女吃鸡巴黑料破处自慰| 长久久久久一区二区高清| 亚洲欧美动漫卡通 另类| 新婚人妻聚会被中出| 久久三级片一区二区毛片| 黄色成人激情福利在线影院| 老鸭窝在线视频国产| 青青草原亚洲精品在线观看| av网址大全在线播放 | 无套内谢少妇高潮毛片免费看| 日本性少妇xxxx| 高清日本wwwcom| 青青青青青青青青青青青青青草| 亚洲精品综合视频自拍| 欧美1234不卡视频| 性色av成年在线观看| 国产三级伦理在线观看| 日韩毛片基地免费看| 东方av在线免费进入| 999热这里只有精品视频| 亚洲高清中文字幕在线的| 超碰在线97人人草| 干风骚美女av在线| 91福利精品一区二区| 日韩毛片基地免费看| 亚洲综合一区二区人妻| 亚洲真人性在线观看| 国产成人午夜精品视频| av手机在线免费播放| 91精品国产自产在线大长腿| 免费二区三区四区在线观看| 日韩avapp在线| 欧美日韩国产综合不卡| 欧美日韩综合在线免费观看| 天天色天天爱天天舔| 五月天丁香婷久久爱| 久久久老熟女一区二区| 天天透天天插天天通| 欧美日韩无卡一二三区| 亚洲性趣老熟妇高清| 亚洲免费观看高清在线| 黄片免费观看久久av| 亚洲一区 成人在线| 日韩性爱视频无码三级片| 伊人情人综合成人久久网小说| 婷婷亚洲综合在线五月天| 97超碰在线cao| 91亚洲国产成人久久| 91麻豆精品国产乱码久久久久久| 2020中文字幕在线播放| 91久久国产丁香精品中文| 欧美大黑硬鸡巴操骚肥湿逼| 国产av在线一区二区| 五月天丁香婷久久爱| 9色自拍视频在线观看| 亚洲成年人三级电影| 自拍分享国产亚洲欧美| 日本vvvv操操操| 国产综合av一区二区| 黄色性网站免费观看| 亚洲欧美另类激情综合区动漫| 久久久久久久久毛片精品奶炮| 精品99久久久久久www| 欧美142p极品服务| 亚洲,自拍,中文,另类| 久久久久久久久久久蜜桃| 亚洲精品乱码久久观看网| 日韩精品高清免费视频| 国产a v一区二区三区香蕉| 91精品综合国产熟女| suv精品一区二区6| 精品一区二区三区大全| 福利视频国产在线在线观看| 我用力操你在线视频| 男人天堂在线免费观看| 漂亮的人妻不敢呻吟被中出| 亚洲精品免费一二三区| 国产传媒网址在线观看| 免费av区在线观看| 国产精品啪啪啪免费网站| 国自产拍偷拍福利精品免费观看| 亚洲自拍偷拍清纯唯美| 女人张开双腿让男人捅视频 | 掀开奶罩边吃边摸下娇喘视频| 亚洲精品在线观看高清资源| 真人同房直接做视频免费| 欧美亚洲综合偷拍另类| 青青草原x全国在线观看| 超碰chaopeng 国产| 亚洲精品超熟女av| 嗯嗯嗯啊啊啊不要好爽视频| 欧美精品乱码久久久久久| 办公室被吃奶好爽在线观看视频| 亚洲情品中文字幕人妻久久久边| 97视频人人人人人性| 婷婷亚洲综合在线五月天| 精品久久久久aⅴ一区二区| 精品一区二区三区大全| 伊人青操在线观看视频网站| 丝袜美腿色诱视频在线观看| 国内精品久久久久久久999| 超碰人人澡人人碰人人| 自拍偷拍亚洲黄色照片| 男生的天堂亚洲男人| 亚洲激情视频免费在线| 天天插天天摸天天爱| 欧美日韩精品久久一区二区三区| 日本公与妇电影三级| 欧美日韩aaaaa级黄片视频| 中文字幕日本一本二本三区| 成人大片免费看45分钟| 亚洲欧美日韩偷窥自拍| 久操av在线免费观看| 中文字幕第一区久久| 亚洲妇熟xxxx妇色黄网站| 国语对白xxxx乱大交| 国产剧情免费在线观看| 91人妻精品一区二区三区在线| 成人麻豆免费视频精品区 | 日韩av免费福利在线观看| 亚洲福利导航在线视频| www国产精品久久久| 富二代av一区二区| 欧美福利专区一区二区三区| 中国福利在线黄色片| 日本一区二区不卡电影| 亚洲国产精品美女久久久av | 天天插天天色天天透| 日韩最新视频在线播放| 亚洲综合久久综合网| 成全视频免费观看在线下载| 999热这里只有精品视频| 亚洲欧美在线x视频| 国产午夜福利精品久久不卡| 性色av成年在线观看| 无套内谢少妇高潮毛片免费看| 熟女一区二区三区四区五区视频| 亚洲精品成人a8198| 欧美视频在线观看18| 人人妻人人妻人人妻精品| 教资是不是人人都可以考| 欧美一区二区三区乱轮| 18人妻人碰人人做人人爽| 97人妻人人做人碰人人爽一| 精品成人午夜免费看| 狠狠躁日日躁夜夜躁视频| 亚洲精品成人a8198| 日本黄页网络站免费| 浪荡人妻共32部分黑人| 日韩av在线区二区| 精品国产日韩一区三区| heyzo久久综合色88| 亚洲国产欧美一区二区三区久久| 国产盗摄女子私密保健视频| 亚洲精品国偷自产久色| 91表用白丝脚帮我脚交| 亚洲综合精品推荐69堂| 大香蕉97精品一区二区三区| 国产麻豆在线av| 一区二区三区四区不卡在线观看| 91精品人妻一区二区三区水蜜桃 | 成人在线视频国产自拍| 91精品人人妻人人澡人人爽人人| 91久久国产丁香精品中文| 成人大片精品在线观看| 欧美熟妇亚洲中文不卡少妇| 成人熟女一区二区三区| 青青操在线视频精品| 久久久国产视频91| 4455vw在线观看| 97超碰在线视频观看| 亚洲av午夜精品一老妈| 黄片免费观看久久av| 天天透天天插天天通| 精品一区二区三区四区激情| 99国产精品免费视频观看a| xfplay亚洲资源| 亚洲视频免费观看不卡| 蜜臀 av一区二区| 亚洲av性色在线观看黄色| 久久久久国产一毛片高清| 青青青青青青青青青青青青青草| 玩弄放荡人妻少妇精品| 色片网站在线看亚洲精品| 啪啪小视频免费网站| 欧美熟妇亚洲中文不卡少妇| 免费av区在线观看| 国产乱子伦一区=区三区| 亚洲一区 成人在线| 在线观看国产视频99| 最大最全av中文字幕网| 国产黄色大片在线免费观看| 国产盗摄女子私密保健视频| 青青草原亚洲精品在线观看| 亚洲综合欧美熟一区| 亚洲国产中文字幕在线视频| 日韩欧美在线不卡一区二区三区 | 小少妇被大鸡巴操手机在播放| 国产av一区二区三区天堂| 亚洲精品综合视频自拍| 亚洲av一区视频在线观看| 夜夜操夜夜操夜夜爽| 天天碰天天摸人人看| 97精品在线观看视频| 999在线视频一区二区三区| 成年大片40分钟免费视频播放| 日韩av中文字幕乱码| 国产成人一区二区三区久| yy111111少妇蜜桃| 77777蜜臀精品久久综合| 人妻久久免费视频中文字幕| 蜜桃成人av电影网站| 成人午夜伦理在线观看| 另类图片亚洲图区第一页| 91av国产在线观看| 熟女一区二区三区四区五区视频| 天天日天天透天天操| 免费成人中文字幕电影| 超碰人妻中文字幕在线| 亚洲av永久久久久久久蜜桃 | 69精品人妻一区二区| 99久久久国产精品美女| 久久亚洲伊人99精品影院| 超碰超碰超碰超碰超碰超| 久re这里只有精品视频| av网站在线免费浏览| 男人天堂新在线电影| 美女 激情 欧美 日韩| 综合另类小说欧美另类图片| 国产精品久久久久精品蜜月| 2018免费天天干夜夜操| 自拍分享国产亚洲欧美| 涩涩漫画网站在线观看| 91人妻人澡人人爽人人精品| 欧美日韩国产在线观看了| 亚洲精品少妇蜜桃久久久| 99久久精品国产欧美一区二区| 人妻不卡一区二区三区| 天天日天天看天天摸| 手机能看的黄色av| 天天摸天天干天天插天天操| 天天干夜夜操日日操| 美女主播大奶子黄瓜插逼| 国产原创成人av剧情在线播放| 色就色欧美亚洲αv| 精品99久久久久久www| 操日本裸体美女骚逼| www国产亚洲天堂| 可以免费看啪啪啪的网站| 欧美亚洲三级色图网站| 欧美在线观看视频一区五区| 免费二区三区四区在线观看| 视频你懂得在线观看| 国产综合av一区二区| 老司机免费福利视频网| 熟女一区二区三区四区五区视频| 久久精品国产亚洲a| 色欲天天天久久久综合| 91久色porny视频在线| av一区二区二十四小时| 国产av一区二区三区天堂| 丝袜美腿色诱视频在线观看| 中文字幕精品av在线观看| 天天日天天透天天操| 二亚洲女同性同志熟女| 不卡一区二区啪啪视频| 中文字幕一区三区二区国产黄色| 性色av成年在线观看| 亚洲综合精品推荐69堂| 成人在线视频国产自拍| 日本a爱视频二区三区| 日本熟妇wxw日本人妻| 特黄特色大片观看免费| 91九色porny国产探花| 日本中文字幕人妻一区二区 | 91麻豆精品国产乱码久久久久久| 亚洲中文有码一区二区| 玩弄放荡人妻少妇精品| 国产精品啊啊啊不要在线观看| 91大神视频在线观看视频| 五月天丁香婷久久爱| 午夜在线小视频在线观看| 大鸡巴操的好爽好舒服啊视频| 青青青青青青青青青青青青青草| 可以免费看的黄页视频| av鲁丝一区鲁丝二区鲁丝四区| 在线观看国产精品123| 爱人体-看人体人体摄影| 国产中文字幕在线免费播放| 91精品国产综合久久婷婷香蕉| 国产精品午夜在线观看| 久久性视频不卡网站| 亚洲一区二区三区免费| 182tv在线福利视频| 国产视频在线精品视频| 91精品人人妻人人澡人人爽人人| 青青草成人免费电影| 天天日……天天操……天天喷| 欧美成人免费观看黄片| 欧美在线播放一二区不卡| 二根鸡巴日一个穴视频| 久久少妇精品一区二区免费 | 久国产一二三区四区乱码2021| 人妻少妇精品专区一二三| 久草视频免费在线视频观看| 狠狠操操操操操操操操操操| 欧美大长腿美女抽插网站| 国产三级做爰高清在线| 操女人下阴黄色一级视频| 99riav国产尤物蜜臀精品| 98久久久久98久久久久| 黄色污污污网站免费观看| 亚洲久久久久久久久久久久久久| 亚洲国产成人在线观看网址| 精品无人区高清免费看| 亚洲自拍偷拍清纯唯美| av在线手机观看一区二区三区| 免费成视频人免费91| 可以免费看啪啪啪的网站| 日本老熟妇色狠狠一区| 亚洲午夜免费精品久久久| 99久久久国产精品美女| 日韩破处精品在线观看| 偷窥老熟女久久久av| 亚洲国产aⅴ成人精品无吗| 成人午夜影视在线观看| 亚洲人成亚洲人成在线观看com | 美女极品美女福利视频在线| av男人免费的天堂| 国产又黄又粗又硬又大又猛的视频 | 天天色天天干天天操| 欧美精品日韩第一页| 色片网站在线看亚洲精品| 天堂av在线中文在线新版| 亚洲一区二区三区免费| 亚洲欧美另类激情综合区动漫| 五月婷婷免费在线观看视频| 超碰人人澡人人碰人人| 99久久久国产精品美女| 欧美综合一区二区三区| 天天天天拍天天天天天天| 二根鸡巴日一个穴视频| 免费熟女精品一区二区三区| 91久久综合九色综合欧美98| 99久久香蕉国产线看| 亚洲欧美日韩偷窥自拍| 在线观看免费a亚洲| 国产在线免播放器不卡| 大黑鸡巴 狂插 欧亚小嫩逼| 色婷婷久久久久av| 日韩高清av一区二区三区| 日韩资源在线中文字幕| 中文字幕看日韩精品视频| 91嫩草精品少妇97九九| 男人插女人逼app| 日本美国亚洲一区二区| 69精品人妻一区二区| 黄色av日韩免费在线观看| 国产午夜在线免费视频| 天天日天天看天天摸| 亚洲综合另类小说色区色噜噜,| 蜜桃一区二区17c| 亚洲国产成人在线观看网址| 免费在线观看网址你懂的| 亚洲高清中文字幕在线的| 大香蕉人妻少妇av| 免费直接观看的麻豆黄色| 日韩中文字幕乱码一区| 啪啪在线视频免费观看| 亚洲视频 中文字幕 人妻| 国产成人女人毛毛片视频| 国产精品久久久久白浆| 国产无遮挡精品视频观看| 国产高清在线免费视频| 最新人妻熟女中文字幕| 自拍偷拍 中文字幕 日韩| 69精品人妻一区二区| 国产粉嫩粉嫩的在线18观看| 91精品人妻中文字幕| 日本不卡少妇视频在线观看| 国产三级做爰高清在线| 欧美亚洲校园春色另类| 98久久久久98久久久久| 欧美黑人抱着强干视频| 免费在线观看网址你懂的| 日本大鸡巴乱伦肏屄网| 不卡精品国产_亚洲人成在线| 98资源站精品视频在线观看| 午夜在线小视频在线观看| 另类图片亚洲图区第一页| 4个黑人操素人视频网站精品91| 久久精品亚洲国产一区二区| 人人妻人人妻人人妻精品| 天天插天天爱天天日| 欧美福利视频一二三| 9色自拍视频在线观看| 国产精品视频白浆免费网站| 亚洲高清中文字幕在线的| Av资源站中文字幕| 91麻豆精品一二三区在线成人| 大香蕉97精品一区二区三区| 亚洲美女乱1区2区3区| 内射一对幼嫩无毛妹| 欧美 亚洲 激情 自拍| 中文字幕永久在线一区二区| 91精品综合国产熟女| 女人扒开逼逼让男人操| 国产精品久久久久白浆| 91精品久久久久久婷婷高清 | 日本五十路六十路中出| 免费观看视频一区二区三区| 日本很黄很黄的动态视频| 动漫av纯肉免费在线观看| 欧美一区视频不卡高清| 国产精品一品二区三区日韩| 97国产在线精品观看| 亚洲国产成人在线观看网址| 超碰在线97人人草| 亚洲欧美国产其他二区| 看男破处女人逼黄色片观看 | 午夜啪啪啪免费视频网站| 久久精品视频全部视频在线| 老鸭窝在线视频国产| 色婷婷亚洲久久97成人| 91在线视频只有精品| 久久久激情视频网站| 人人咪咪一区二区三区| 五月婷婷综合久久久| 美女的逼让男人桶的视频| 亚洲av网站在线免费观看| 最大最全av中文字幕网| 天天色天天爱天天舔| 欧洲野外激情性视频| 不卡精品国产_亚洲人成在线| 操女人下阴黄色一级视频| 少妇高潮精品一区二区| 天天日天天色天天搞| 天天日天天色天天摸| 色综合久久加勒比高清剧情| 亚洲一区二区三区免费| 欧美在线播放一二区不卡| 国产精品啊啊啊不要在线观看| 亚洲欧美在线色图动态图| 国产黄a三级三级三级三级三级| av精选一区二区久久| 国产精品精品3d动漫| 亚洲欧美精品tv久久久久久久久| 亚洲国产日韩欧美在线观看| 污污污视频在线观看91| 日韩中文字幕乱码一区| 最新日韩成人毛片在线| 国模视频写真一区二区| 日本很黄很黄的动态视频| 亚洲欧美精品tv久久久久久久久| 午夜福利久久久国产视频| 在线精品亚洲区一区二区| 乱一区二区三区在线播放| 骚白虎插入在线观看| 欧美大黑硬鸡巴操骚肥湿逼 | 中国福利在线黄色片| 美女主播大奶子黄瓜插逼| 国产欧美日韩经典一区| 日本伦理在线免费视频| 国产大神一区二区三区| 亚洲国产欧美一区二区三区久久 | 4个黑人操素人视频网站精品91| 亚洲中文字幕有码电影| 国产一级二级三级亚洲| 欧美 亚洲 激情 自拍| 91精品人妻一区二区三区水蜜桃| 在线播放国产免费av| 在线91精品亚洲网站精品成人| 国产盗摄女子私密保健视频| 中文一区二区三区精品视频| 大鸡巴爆操美女骚逼| 午夜老司机福利一二三区| 国产乱子伦一区=区三区| 日韩毛片基地免费看| 激情综合网激情俺她去| 17c在线观看视频国产aa| 亚洲精品超熟女av| av影视在线免费观看| 黄色性网站免费观看| 性感丝袜美女诱惑大鸡吧| 国产综合av一区二区| 午夜精品不卡视频在线观看 | 韩国一区二区三区在线观看| 一区二区三区亚洲蜜桃| 99久久国产成人免费网站| 国产精品亚洲综合av| 黑人熟女一区二区三区| 超级碰碰碰97免费视频97| 久久精品国产亚洲a| 亚洲欧洲自拍他拍av| 日韩中文字幕免费大片| 偷拍亚洲另类图片视频| 国产又粗又长又黄视频| 四川熟女a一区二区三区| 欧美黑人性色黄在线视频| 久久三级片一区二区毛片| 日日夜夜狠狠干干亚洲| 日本中文字幕人妻一区二区| 中文字幕黄色av网址| 欧美亚洲三级色图网站| 国产福利中文字幕导航| 天天天天拍天天天天天天| 国产高清在线免费视频| 国产女人露脸高潮对白视频| 亚洲欧美 在线视频| 超碰人妻中文字幕在线| 成人福利电影免费网址| 操人妻一区二区三区| 婷婷色综合久久五月天| 天天操天天色天天天| 骚白虎插入在线观看| 天天天天拍天天天天天天| 看男破处女人逼黄色片观看| 免费av区在线观看| 国内精品久久久久精品爽爽| 17c在线观看视频国产aa| 26uuu天堂在线青青在线视频| 综合另类小说欧美另类图片| 亚洲欧美另类激情综合区动漫| 日韩性爱视频无码三级片| 欧美大黑硬鸡巴操骚肥湿逼| 精品成人午夜免费看| 亚洲欧美日韩偷窥自拍| 国产成人啪精品视频免费| 日韩毛片基地免费看| 青青操视频在线免费| 欧洲av性色在线看| 在线视频 国产 日韩 欧美| 在线观看国产影片| 五月婷婷丁香花激情网| 日韩成人综艺在线播放| 韩日一级片中文字幕| 漂亮人妻被强制中出| 啪啪小视频免费网站| 青青视频青青成人免费| 99热6在线播放免费| 亚洲一区二区三区免费| 东北老熟女疯狂作爱视频| 91精品在线播放hd| 国产绿帽人妻精品系列| 欧美xxxx视频在线| xfplay亚洲资源| 免费阿v视频在线播放| 免费观看黄色韩日av| 久久精品在线观看免费视频| 欧洲av性色在线看| 丝袜制服 亚洲 国产 91| 91 chinese 在线播放| 黑人熟女一区二区三区| av一区二区三区蜜臀| 精品欧美一亚洲精品午夜| 91精品1080部在线播放| 欧美 激情 另类 自拍| 亚洲偷偷自拍视频网| 99久久夜色精品国产亚洲软件| 寂寞少妇一区二区三区| 人妻熟妇丰满不伦一区二区三区| 我用力操你在线视频| 在线播放国产免费av| 久久三级片一区二区毛片| 丁香激情五月天综合网| 隔壁放荡人妻bd完整版| 91人妻精品动漫一区二区三区| 超级碰碰碰碰碰碰碰碰碰| 免费二区三区四区在线观看| 亚洲国产精品美女久久久av| 啊啊啊操死我轮操视频免费| 亚洲一级免费av黄色打炮片| 日本伦理在线免费视频| 欧美综合一二区在线| av男人天堂精品久久| 人妻天天爽夜夜爽麻豆av| 欧美综合一二区在线| 自拍分享国产亚洲欧美| 91免费观看国产精品| 97精品国产高清在线| 性感的人妻在线观看| 漂亮的人妻不敢呻吟被中出| youtube视频字幕中文| 国产精品视频白浆免费网站| 欧美福利专区一区二区三区| av在线操亚洲图片| 新婚人妻聚会被中出| 掀开奶罩边吃边摸下娇喘视频| 91精彩刺激对白露脸偷拍| 人妻 日韩精品免费| 日韩毛片基地免费看| 欧美在线观看一级一区二区| 99精品视频在线观看专区| 亚洲精久久久久久久久久久久久| 91jk麻豆美女丝袜诱惑| 超级碰碰碰97免费视频97| 青春草在线视频播放免费观看网站 | av一av一av中文字幕| 亚洲精品**不卡在线播he| 亚洲国产精品av久久久| 自拍第一页免费视频| 国自产拍偷拍福利精品免费观看| 午夜在线看1000集| 玖玖玖精品视频在线观看| 163黄页网在线观看,| 亚洲天堂av插插插| 一区二区三区欧美高清| 青青草原亚洲精品在线观看| 亚洲国产aⅴ成人精品无吗| 青青草精品视频在线免费观看| 亚洲卡一卡二卡三新区| 欧美久久久久亚洲综合| 国产高清在线免费视频| 亚洲精品超熟女av| 免费观看视频一区,二区,三区| 日韩欧美亚洲在线第一页| 黄色成人激情福利在线影院| 91在线免费观看成人| 日韩无码成人电影一区二区| x8x8免费在线观看视频| 婷婷丁香花综合激情五月天| 97色 国产精品综合| 亚洲永久av午夜福利| 蜜臀 av一区二区| 五月激情四射丁香婷婷激情四射| 77777蜜臀精品久久综合| 三级黄色亚洲成人av| 欧美xxxx视频在线| 熟女免费在线观看视频| 日本免费播放一区二区三区| 人妻少妇精品视频专区vr| 国产九九视频在线观看| 欧美 激情 另类 自拍| 香蕉影视在线观看av最新| 操人妻视频在线免费观看| 91九色porny国产探花| 免费无码专区毛片高潮喷水 |