国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Python爬蟲(chóng)的4種姿勢(shì)

共 12055字,需瀏覽 25分鐘

 ·

2020-02-12 23:26

作者 |?jclian
來(lái)源 |?Python爬蟲(chóng)與算法

問(wèn)題的由來(lái)

??前幾天,有個(gè)人問(wèn)了筆者一個(gè)問(wèn)題,如何利用爬蟲(chóng)來(lái)實(shí)現(xiàn)如下的需求,需要爬取的網(wǎng)頁(yè)如下(網(wǎng)址為:https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0):

bb68ddf7e0a9555ca576bf516d8a2c0d.webp

??我們的需求為爬取紅色框框內(nèi)的名人(有500條記錄,圖片只展示了一部分)的 名字以及其介紹,關(guān)于其介紹,點(diǎn)擊該名人的名字即可,如下圖:

d5953a4cec130d7a21b0ec63667a33ac.webpname和description

這就意味著我們需要爬取500個(gè)這樣的頁(yè)面,即500個(gè)HTTP請(qǐng)求(暫且這么認(rèn)為吧),然后需要提取這些網(wǎng)頁(yè)中的名字和描述,當(dāng)然有些不是名人,也沒(méi)有描述,我們可以跳過(guò)。最后,這些網(wǎng)頁(yè)的網(wǎng)址在第一頁(yè)中的名人后面可以找到,如George Washington的網(wǎng)頁(yè)后綴為Q23.
??爬蟲(chóng)的需求大概就是這樣。

爬蟲(chóng)的4種姿勢(shì)

??首先,分析來(lái)爬蟲(chóng)的思路:先在第一個(gè)網(wǎng)頁(yè)(https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0)中得到500個(gè)名人所在的網(wǎng)址,接下來(lái)就爬取這500個(gè)網(wǎng)頁(yè)中的名人的名字及描述,如無(wú)描述,則跳過(guò)。
??接下來(lái),我們將介紹實(shí)現(xiàn)這個(gè)爬蟲(chóng)的4種方法,并分析它們各自的優(yōu)缺點(diǎn),希望能讓讀者對(duì)爬蟲(chóng)有更多的體會(huì)。實(shí)現(xiàn)爬蟲(chóng)的方法為:

  • 一般方法(同步,requests+BeautifulSoup)

  • 并發(fā)(使用concurrent.futures模塊以及requests+BeautifulSoup)

  • 異步(使用aiohttp+asyncio+requests+BeautifulSoup)

  • 使用框架Scrapy

一般方法

??一般方法即為同步方法,主要使用requests+BeautifulSoup,按順序執(zhí)行。完整的Python代碼如下:

import?requests
from?bs4?import?BeautifulSoup
import?time

#?開(kāi)始時(shí)間
t1?=?time.time()
print('#'?*?50)

url?=?"http://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0"
#?請(qǐng)求頭部
headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/67.0.3396.87?Safari/537.36'}
#?發(fā)送HTTP請(qǐng)求
req?=?requests.get(url,?headers=headers)
#?解析網(wǎng)頁(yè)
soup?=?BeautifulSoup(req.text,?"lxml")
#?找到name和Description所在的記錄
human_list?=?soup.find(id='mw-whatlinkshere-list')('li')

urls?=?[]
#?獲取網(wǎng)址
for?human?in?human_list:
????url?=?human.find('a')['href']
????urls.append('https://www.wikidata.org'+url)

#?獲取每個(gè)網(wǎng)頁(yè)的name和description
def?parser(url):
????req?=?requests.get(url)
????#?利用BeautifulSoup將獲取到的文本解析成HTML
????soup?=?BeautifulSoup(req.text,?"lxml")
????#?獲取name和description
????name?=?soup.find('span',?class_="wikibase-title-label")
????desc?=?soup.find('span',?class_="wikibase-descriptionview-text")
????if?name?is?not?None?and?desc?is?not?None:
????????print('%-40s,\t%s'%(name.text,?desc.text))

for?url?in?urls:
????parser(url)

t2?=?time.time()?#?結(jié)束時(shí)間
print('一般方法,總共耗時(shí):%s'?%?(t2?-?t1))
print('#'?*?50)

輸出的結(jié)果如下(省略中間的輸出,以……代替):

##################################################
George?Washington???????????????????????,????first?President?of?the?United?States
Douglas?Adams???????????????????????????,????British?author?and?humorist?(19522001)
......
Willoughby?Newton???????????????????????,????Politician?from?Virginia,?USA
Mack?Wilberg????????????????????????????,????American?conductor
一般方法,總共耗時(shí):724.9654655456543
##################################################

使用同步方法,總耗時(shí)約725秒,即12分鐘多。
??一般方法雖然思路簡(jiǎn)單,容易實(shí)現(xiàn),但效率不高,耗時(shí)長(zhǎng)。那么,使用并發(fā)試試看。

并發(fā)方法

??并發(fā)方法使用多線程來(lái)加速一般方法,我們使用的并發(fā)模塊為concurrent.futures模塊,設(shè)置多線程的個(gè)數(shù)為20個(gè)(實(shí)際不一定能達(dá)到,視計(jì)算機(jī)而定)。完整的Python代碼如下:

import?requests
from?bs4?import?BeautifulSoup
import?time
from?concurrent.futures?import?ThreadPoolExecutor,?wait,?ALL_COMPLETED

#?開(kāi)始時(shí)間
t1?=?time.time()
print('#'?*?50)

url?=?"http://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0"
#?請(qǐng)求頭部
headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/67.0.3396.87?Safari/537.36'}
#?發(fā)送HTTP請(qǐng)求
req?=?requests.get(url,?headers=headers)
#?解析網(wǎng)頁(yè)
soup?=?BeautifulSoup(req.text,?"lxml")
#?找到name和Description所在的記錄
human_list?=?soup.find(id='mw-whatlinkshere-list')('li')

urls?=?[]
#?獲取網(wǎng)址
for?human?in?human_list:
????url?=?human.find('a')['href']
????urls.append('https://www.wikidata.org'+url)

#?獲取每個(gè)網(wǎng)頁(yè)的name和description
def?parser(url):
????req?=?requests.get(url)
????#?利用BeautifulSoup將獲取到的文本解析成HTML
????soup?=?BeautifulSoup(req.text,?"lxml")
????#?獲取name和description
????name?=?soup.find('span',?class_="wikibase-title-label")
????desc?=?soup.find('span',?class_="wikibase-descriptionview-text")
????if?name?is?not?None?and?desc?is?not?None:
????????print('%-40s,\t%s'%(name.text,?desc.text))

#?利用并發(fā)加速爬取
executor?=?ThreadPoolExecutor(max_workers=20)
# submit()的參數(shù):?第一個(gè)為函數(shù),?之后為該函數(shù)的傳入?yún)?shù),允許有多個(gè)
future_tasks?=?[executor.submit(parser,?url)?for?url?in?urls]
#?等待所有的線程完成,才進(jìn)入后續(xù)的執(zhí)行
wait(future_tasks,?return_when=ALL_COMPLETED)

t2?=?time.time()?#?結(jié)束時(shí)間
print('并發(fā)方法,總共耗時(shí):%s'?%?(t2?-?t1))
print('#'?*?50)

輸出的結(jié)果如下(省略中間的輸出,以……代替):

##################################################
Larry?Sanger????????????????????????????,????American?former?professor,?co-founder?of?Wikipedia,?founder?of?Citizendium?and?other?projects
Ken?Jennings????????????????????????????,????American?game?show?contestant?and?writer
......
Antoine?de?Saint-Exupery????????????????,????French?writer?and?aviator
Michael?Jackson?????????????????????????,????American?singer,?songwriter?and?dancer
并發(fā)方法,總共耗時(shí):226.7499692440033
##################################################

使用多線程并發(fā)后的爬蟲(chóng)執(zhí)行時(shí)間約為227秒,大概是一般方法的三分之一的時(shí)間,速度有了明顯的提升?。《嗑€程在速度上有明顯提升,但執(zhí)行的網(wǎng)頁(yè)順序是無(wú)序的,在線程的切換上開(kāi)銷(xiāo)也比較大,線程越多,開(kāi)銷(xiāo)越大。
??關(guān)于多線程與一般方法在速度上的比較,可以參考文章:Python爬蟲(chóng)之多線程下載豆瓣Top250電影圖片。

異步方法

??異步方法在爬蟲(chóng)中是有效的速度提升手段,使用aiohttp可以異步地處理HTTP請(qǐng)求,使用asyncio可以實(shí)現(xiàn)異步IO,需要注意的是,aiohttp只支持3.5.3以后的Python版本。使用異步方法實(shí)現(xiàn)該爬蟲(chóng)的完整Python代碼如下:

import?requests
from?bs4?import?BeautifulSoup
import?time
import?aiohttp
import?asyncio

#?開(kāi)始時(shí)間
t1?=?time.time()
print('#'?*?50)

url?=?"http://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0"
#?請(qǐng)求頭部
headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/67.0.3396.87?Safari/537.36'}
#?發(fā)送HTTP請(qǐng)求
req?=?requests.get(url,?headers=headers)
#?解析網(wǎng)頁(yè)
soup?=?BeautifulSoup(req.text,?"lxml")
#?找到name和Description所在的記錄
human_list?=?soup.find(id='mw-whatlinkshere-list')('li')

urls?=?[]
#?獲取網(wǎng)址
for?human?in?human_list:
????url?=?human.find('a')['href']
????urls.append('https://www.wikidata.org'+url)

#?異步HTTP請(qǐng)求
async?def?fetch(session,?url):
????async?with?session.get(url)?as?response:
????????return?await?response.text()

#?解析網(wǎng)頁(yè)
async?def?parser(html):
????#?利用BeautifulSoup將獲取到的文本解析成HTML
????soup?=?BeautifulSoup(html,?"lxml")
????#?獲取name和description
????name?=?soup.find('span',?class_="wikibase-title-label")
????desc?=?soup.find('span',?class_="wikibase-descriptionview-text")
????if?name?is?not?None?and?desc?is?not?None:
????????print('%-40s,\t%s'%(name.text,?desc.text))

#?處理網(wǎng)頁(yè),獲取name和description
async?def?download(url):
????async?with?aiohttp.ClientSession()?as?session:
????????try:
????????????html?=?await?fetch(session,?url)
????????????await?parser(html)
????????except?Exception?as?err:
????????????print(err)

#?利用asyncio模塊進(jìn)行異步IO處理
loop?=?asyncio.get_event_loop()
tasks?=?[asyncio.ensure_future(download(url))?for?url?in?urls]
tasks?=?asyncio.gather(*tasks)
loop.run_until_complete(tasks)

t2?=?time.time()?#?結(jié)束時(shí)間
print('使用異步,總共耗時(shí):%s'?%?(t2?-?t1))
print('#'?*?50)

輸出結(jié)果如下(省略中間的輸出,以……代替):

##################################################
Frédéric?Tadde??????????????????????????,????French?journalist?and?TV?host
Gabriel?Gonzáles?Videla?????????????????,????Chilean?politician
......
Denmark?????????????????????????????????,????sovereign?state?and?Scandinavian?country?in?northern?Europe
Usain?Bolt??????????????????????????????,????Jamaican?sprinter?and?soccer?player
使用異步,總共耗時(shí):126.9002583026886
##################################################

顯然,異步方法使用了異步和并發(fā)兩種提速方法,自然在速度有明顯提升,大約為一般方法的六分之一。異步方法雖然效率高,但需要掌握異步編程,這需要學(xué)習(xí)一段時(shí)間。
??關(guān)于異步方法與一般方法在速度上的比較,可以參考文章:利用aiohttp實(shí)現(xiàn)異步爬蟲(chóng)
??如果有人覺(jué)得127秒的爬蟲(chóng)速度還是慢,可以嘗試一下異步代碼(與之前的異步代碼的區(qū)別在于:僅僅使用了正則表達(dá)式代替BeautifulSoup來(lái)解析網(wǎng)頁(yè),以提取網(wǎng)頁(yè)中的內(nèi)容):

import?requests
from?bs4?import?BeautifulSoup
import?time
import?aiohttp
import?asyncio
import?re

#?開(kāi)始時(shí)間
t1?=?time.time()
print('#'?*?50)

url?=?"http://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0"
#?請(qǐng)求頭部
headers?=?{
????'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/67.0.3396.87?Safari/537.36'}
#?發(fā)送HTTP請(qǐng)求
req?=?requests.get(url,?headers=headers)
#?解析網(wǎng)頁(yè)
soup?=?BeautifulSoup(req.text,?"lxml")
#?找到name和Description所在的記錄
human_list?=?soup.find(id='mw-whatlinkshere-list')('li')

urls?=?[]
#?獲取網(wǎng)址
for?human?in?human_list:
????url?=?human.find('a')['href']
????urls.append('https://www.wikidata.org'?+?url)

#?異步HTTP請(qǐng)求
async?def?fetch(session,?url):
????async?with?session.get(url)?as?response:
????????return?await?response.text()

#?解析網(wǎng)頁(yè)
async?def?parser(html):
????#?利用正則表達(dá)式解析網(wǎng)頁(yè)
????try:
????????name?=?re.findall(r'(.+?)',?html)[0]
????????desc?=?re.findall(r'(.+?)',?html)[0]
????????print('%-40s,\t%s'?%?(name,?desc))
????except?Exception?as?err:
????????pass

#?處理網(wǎng)頁(yè),獲取name和description
async?def?download(url):
????async?with?aiohttp.ClientSession()?as?session:
????????try:
????????????html?=?await?fetch(session,?url)
????????????await?parser(html)
????????except?Exception?as?err:
????????????print(err)

#?利用asyncio模塊進(jìn)行異步IO處理
loop?=?asyncio.get_event_loop()
tasks?=?[asyncio.ensure_future(download(url))?for?url?in?urls]
tasks?=?asyncio.gather(*tasks)
loop.run_until_complete(tasks)

t2?=?time.time()??#?結(jié)束時(shí)間
print('使用異步(正則表達(dá)式),總共耗時(shí):%s'?%?(t2?-?t1))
print('#'?*?50)

輸出的結(jié)果如下(省略中間的輸出,以……代替):

##################################################
Dejen?Gebremeskel???????????????????????,????Ethiopian?long-distance?runner
Erik?Kynard?????????????????????????????,????American?high?jumper
......
Buzz?Aldrin?????????????????????????????,????American?astronaut
Egon?Krenz??????????????????????????????,????former?General?Secretary?of?the?Socialist?Unity?Party?of?East?Germany
使用異步(正則表達(dá)式),總共耗時(shí):16.521944999694824
##################################################

16.5秒,僅僅為一般方法的43分之一,速度如此之快,令人咋舌(感謝某人提供的嘗試)。筆者雖然自己實(shí)現(xiàn)了異步方法,但用的是BeautifulSoup來(lái)解析網(wǎng)頁(yè),耗時(shí)127秒,沒(méi)想到使用正則表達(dá)式就取得了如此驚人的效果??梢?jiàn),BeautifulSoup解析網(wǎng)頁(yè)雖然快,但在異步方法中,還是限制了速度。但這種方法的缺點(diǎn)為,當(dāng)你需要爬取的內(nèi)容比較復(fù)雜時(shí),一般的正則表達(dá)式就難以勝任了,需要另想辦法。

爬蟲(chóng)框架Scrapy

??最后,我們使用著名的Python爬蟲(chóng)框架Scrapy來(lái)解決這個(gè)爬蟲(chóng)。我們創(chuàng)建的爬蟲(chóng)項(xiàng)目為wikiDataScrapy,項(xiàng)目結(jié)構(gòu)如下:

da5adde3667fb3d3c4d13054f2721b95.webpwikiDataScrapy項(xiàng)目

在settings.py中設(shè)置“ROBOTSTXT_OBEY = False”. 修改items.py,代碼如下:

#?-*-?coding:?utf-8?-*-

import?scrapy

class?WikidatascrapyItem(scrapy.Item):
????#?define?the?fields?for?your?item?here?like:
????name?=?scrapy.Field()
????desc?=?scrapy.Field()

然后,在spiders文件夾下新建wikiSpider.py,代碼如下:

import?scrapy.cmdline
from?wikiDataScrapy.items?import?WikidatascrapyItem
import?requests
from?bs4?import?BeautifulSoup

#?獲取請(qǐng)求的500個(gè)網(wǎng)址,用requests+BeautifulSoup搞定
def?get_urls():
????url?=?"http://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0"
????#?請(qǐng)求頭部
????headers?=?{
????????'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/67.0.3396.87?Safari/537.36'}
????#?發(fā)送HTTP請(qǐng)求
????req?=?requests.get(url,?headers=headers)
????#?解析網(wǎng)頁(yè)
????soup?=?BeautifulSoup(req.text,?"lxml")
????#?找到name和Description所在的記錄
????human_list?=?soup.find(id='mw-whatlinkshere-list')('li')

????urls?=?[]
????#?獲取網(wǎng)址
????for?human?in?human_list:
????????url?=?human.find('a')['href']
????????urls.append('https://www.wikidata.org'?+?url)

????#?print(urls)
????return?urls

#?使用scrapy框架爬取
class?bookSpider(scrapy.Spider):
????name?=?'wikiScrapy'??#?爬蟲(chóng)名稱(chēng)
????start_urls?=?get_urls()??#?需要爬取的500個(gè)網(wǎng)址

????def?parse(self,?response):
????????item?=?WikidatascrapyItem()
????????#?name?and?description
????????item['name']?=?response.css('span.wikibase-title-label').xpath('text()').extract_first()
????????item['desc']?=?response.css('span.wikibase-descriptionview-text').xpath('text()').extract_first()

????????yield?item

#?執(zhí)行該爬蟲(chóng),并轉(zhuǎn)化為csv文件
scrapy.cmdline.execute(['scrapy',?'crawl',?'wikiScrapy',?'-o',?'wiki.csv',?'-t',?'csv'])

輸出結(jié)果如下(只包含最后的Scrapy信息總結(jié)部分):

{'downloader/request_bytes':?166187,
?'downloader/request_count':?500,
?'downloader/request_method_count/GET':?500,
?'downloader/response_bytes':?18988798,
?'downloader/response_count':?500,
?'downloader/response_status_count/200':?500,
?'finish_reason':?'finished',
?'finish_time':?datetime.datetime(2018,?10,?16,?9,?49,?15,?761487),
?'item_scraped_count':?500,
?'log_count/DEBUG':?1001,
?'log_count/INFO':?8,
?'response_received_count':?500,
?'scheduler/dequeued':?500,
?'scheduler/dequeued/memory':?500,
?'scheduler/enqueued':?500,
?'scheduler/enqueued/memory':?500,
?'start_time':?datetime.datetime(2018,?10,?16,?9,?48,?44,?58673)}

可以看到,已成功爬取500個(gè)網(wǎng)頁(yè),耗時(shí)31秒,速度也相當(dāng)OK。再來(lái)看一下生成的wiki.csv文件,它包含了所有的輸出的name和description,如下圖:

4bb0f69a7d9ce6445a7536c4378a585a.webp輸出的CSV文件(部分)

可以看到,輸出的CSV文件的列并不是有序的。至于如何解決Scrapy輸出的CSV文件有換行的問(wèn)題,請(qǐng)參考stackoverflow上的回答:https://stackoverflow.com/questions/39477662/scrapy-csv-file-has-uniform-empty-rows/43394566#43394566 。

??Scrapy來(lái)制作爬蟲(chóng)的優(yōu)勢(shì)在于它是一個(gè)成熟的爬蟲(chóng)框架,支持異步,并發(fā),容錯(cuò)性較好(比如本代碼中就沒(méi)有處理找不到name和description的情形),但如果需要頻繁地修改中間件,則還是自己寫(xiě)個(gè)爬蟲(chóng)比較好,而且它在速度上沒(méi)有超過(guò)我們自己寫(xiě)的異步爬蟲(chóng),至于能自動(dòng)導(dǎo)出CSV文件這個(gè)功能,還是相當(dāng)實(shí)在的。

總結(jié)

??本文內(nèi)容較多,比較了4種爬蟲(chóng)方法,每種方法都有自己的利弊,已在之前的陳述中給出,當(dāng)然,在實(shí)際的問(wèn)題中,并不是用的工具或方法越高級(jí)就越好,具體問(wèn)題具體分析嘛~



瀏覽 65
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 五月天激情啪啪| 日韩无码2024| 黄色网在线| jzzijzzij亚洲成熟少妇在线观看| 精品九九九九| 91在线一区| 加勒比综合在线| 国产精品天天狠天天看| 黄色大片AV在线| 亚洲黄色成人| 婷婷欧美色图| 最近中文字幕免费MV第一季歌词怀孕 | 久久久123| 中文字幕第4页| 国产人妻精品一二三区| A一级黄色| AV黄色在线观看| 日韩成人无码影片| 国产做受91一片二片老头| 免费无码毛片一区二区A片| 四虎永久在线精品无码| 黄色电影一级片| 五月婷婷性爱| 一区二区三区四区无码视频| AⅤ在线观看| 详情:绿帽夫妻多人运动开淫啪-91n | 国产免费无码一区二区| 天天操天天射天天日| 操逼网站在线| www.黄色在线观看| 欧美国产高清| 西西4444www无码精品| 无码不卡在线观看| 精品91在线视频| 婷婷色色婷婷五月天| 亚洲AV无码乱码国产精品蜜芽| 牛牛无码| 成人精品鲁一鲁一区二区| 亚州一区| 亚洲内射无码| 亚洲人成电影| 人人操人人摸人人爱| 久久免费成人电影| 乱伦中文| 国产灬性灬淫灬欲水灬| 俺来也俺去也www色官| 一本大道香蕉av久久精东影业| 欧美又粗又大| 99热播在线| 丝袜美女足交| 色哟哟一区二区三区| 国产麻豆精品成人免费视频| 成人黄色毛片视频| 东京热精品视频| 天天摸天天日| 99热一区二区三区| 日韩插泄| 神马久久午夜| 国产欧美黄片| 亚洲播播在线视频| 国产熟妇码视频黑料| 精品久久ai| 人人夜夜人人| 国产一级A片视频| 成人网站免费在线| 怡红院综合网| 国产欧美日韩在线播放| 欧美aaa| 爱爱毛片| 国内精品卡一卡二卡三| 永久m3u8在线观看| 亚洲精品国产精品乱码不卡√香蕉| 中文字幕乱码亚洲无线码在线日噜噜 | 黄片av| 三级片网站大全| 12—13女人毛片毛片| 第四色色综合| 色玉米地熟妇| 国产在线小电影| 亚洲人成小说| 影音先锋91久久网| 在线国产黄色| 岛国AV在线| 91视频18| 色婷婷中文| 国产18禁网站| 51成人免费| 爽好紧别夹喷水无码| 黄片高清免费| 成人黄色性爱视频| 人妻少妇偷人精品久久| av免费观看网站| 日韩国产欧美精品一区| 日韩高清不卡| 亚洲欧美日韩综合| 国产亚洲91| 午夜天堂在线| 日韩精品免费一区二区在线观看 | 91超碰久久在线| 无码人妻一区二区三区蜜桃视频| 91精品国际| 99唉撸吧视频免费| 亚洲精品99| 五月激情啪啪| 亚洲精品不卡| 成年片| 国产高清第一页| 蜜桃无码一区| 激情另类| 日批视频| 国产成人视频在线| 日本A∨| 操操网| www三级片| 天堂资源站| 大香蕉综合闲人| 思思热思思操免费视频| 99在线观看视频| 综合天堂AV久久久久久久| 蜜桃91精品秘成人取精库| 九九热av| 国产视频一二三| 蜜桃视频com.www| 亚洲视频观看| 日本免费一二三区| 成人黄色大香蕉| 日韩一级黄片| 日韩毛片视频| 自拍偷拍综合| 中国老女人操逼| 在线色片| 婷婷伊人大香蕉| 热的无码| 国产免费一级片| 求欧美精品网址| 精品码产区一区二亚洲国产| 国产高清第一页| 精品一区二区三区无码| 91ThePorn国产| 婷婷五月天激情网| 操逼网站在线| 男女啪啪网| 北条麻妃在线一区二区| 日韩经典视频在线播放| 朝鲜性感AV在线| 国产无遮挡又黄又爽在线观看 | 少妇在线视频| 免费的黄色视频网站| 日韩一级性爱视频| 国产黄色视频在线免费看| 午夜激情五月天| 91中文在线| 北条麻妃久久| 免费中文字幕| 人妻少妇精品视频一区二区三区 | 九九精品久久| 免费国产黄色| 欧美不卡在线播放| 操逼操逼操逼操逼操逼操逼| 91乱| 日韩欧美在线不卡| 国产免费一区二区| 香蕉成人网| 日韩影音| 色噜噜狠狠一区二区三区300部| 人与禽一级A片一区二区三区| 在线观看视频免费无码免费视频| 日韩成人A片| 九九偷拍视频| 97男人的天堂| 亚洲香蕉视频网站| 天天日夜夜拍| 色婷婷亚洲婷婷| 九九国产视频| 成人福利影视| 波多野结衣福利视频| 亚洲日韩在线免费观看| 天堂а√在线中文在线新版 | 怡春院中文字幕| 91国产精品在线视频| 黄色大片在线| 熊猫成人网| 狠狠亚洲| 性爱精品视频| 91啦丨熟女露脸| 亚洲AV成人无码AV小说| 四川少妇BBBB槡BBBB槡| 特级西西444www大胆免费看| 免费成人国产| 久久综合17p| 91乱子伦国产乱| www.黄色在线观看| 极品小仙女69| 人妻免费在线视频| 夜夜操夜夜骑| 日韩色网站| 91在线观看视频| 夜夜撸天天日| 人妻斩り43歳| 婷婷五月天黄色| 日本黄色片| AV中文字幕电影| 日韩色情在线| 中文字幕AV播放| 欧美色小说| 加勒比久久88| 国产一级a毛一级a毛视频在线网站?| 亚洲无码黄色| 91人人| JIZZJIZZ国产精品喷水| 国产69久久精品成人看| 成人三级电影在线观看| 一区二区三区四区无码| 亚洲操逼图片| 国产TS变态重口人妖| 黄色91| 偷拍视频网站北条麻妃| 日本免费A∨| 午夜啊啊啊| 亚洲中文字幕成人| 人人天天操| 一级a一级a免费观看视频Al明星 | 天天肏| 成人做爱黄片| 国产成人黄色| 久久久久免费视频| 婷婷五月天激情丁香| 亚洲理论| 亚洲无码一区二区三区| 国产免费黄色| 99天堂网| 亚洲精品乱码久久久久久| 亚洲午夜福利在线观看| 久久网一区| 老太色HD色老太HD-百度| 婷婷AV在线| 亚洲精品一区无码A片丁香花| 亚洲高清无码视频在线播放 | 日韩精品在线观看免费| 无码三级在线观看| 久久综合成人| 久久久高清无码| 老熟女露脸25分钟91秒| 极品少妇视频| 亚洲视频无码在线| 亚洲天堂免费观看| 俩小伙3p老熟女露脸| 久艹综合| 麻豆人妻换人妻好紧| 午夜黄色操逼视频| 欧美久久久久久久| 日韩五月天| 亚洲国产精品久久久久婷婷老年| 日韩AV中文字幕在线播放| 操b视频在线观看| 短发半推半就AV| 日本中文字幕网| 国产一| 6969电视影片最新更新| 五月天激情四射| 嫩草在线视频| 性色a| 日韩激情在线观看| 亚洲激情AV| 精品视频中文字幕| 久久99精品久久久久久水蜜桃| 成人无码一区| 蜜桃无码在线| av在线直播| 婷婷五月天青草| 91视频网站免费观看| 国产黄色三级| 午夜日韩乱伦| 嫩草久久99www亚洲红桃| 亚洲精品视频无码| 超碰997| 一本久久精品一区二区| 成人视频网站在线观看18| 欧美色女人| 97在线观看免费视频| 亚洲成人福利在线| 午夜福利AV在线| 这里都是精品| 动漫操逼视频| 2025国产成人精品一区| 成人福利小视频| 蜜臀久久99精品久久久久久婷婷| 福利视频网站| 五月天色婷婷丁香| 成人肏屄视频| 午夜成人小视频| 国产成人精品一区| 亚洲黄色成人网站| 精品无码AV一区二区三区| 国产性爱网址| 久久系列观看完整指南| 成人久久久久一级大黄毛片中国 | 美女三片| 五月丁香色播| 成人AV无码| 人妻毛片| 欧美黑吊大战白妞欧美大片| YOUjiZZ欧美大全| 看黄片网站| 亚洲国产高清在线观看视频| 黄色一级片免费观看| 中文字幕在线免费观看视频| 国产v亚洲| A片视频免费看| 粉嫩小泬BBBB免费看| AV手机在线| MAD033_后宫秘密陶子.| 国产成人大香蕉| 青青草视频在线观看| 人妻精品综合码| 亚洲无码免费在线| 欧美一区二区三区在线播放| 免费在线观看a| www.伊人大香蕉| 五月婷婷六月色| 爱精品视频| 六月丁香婷| 国产三级自拍| 99精品视频16在线免费观看| 麻豆乱婬一区二区三区| 想要xx视频| 大香蕉久久草| 大地中文资源5页的更新内容| 国产三级自拍视频| 国产91在线拍揄自揄拍无码九色| 伊人久久艹| 无码日批| 成人av一区| 99久久久久久久久久| 国产在线无码视频| 日本精品在线观看视频| JiZZjiZZ亚洲成熟熟妇| 大鸡吧大香蕉| 国产福利一区二区| 超碰最新在线观看| 日本欧美视频| 亚洲五月激情| 在线观看视频91| 日本AⅤ中文字幕| 国产精品人妻AⅤ在线看| 欧美一级做| 国产色哟哟| 日皮视频在线观看免费| 欧美理论片在线观看| 大BBBw大BBBW另类| 欧美色图另类| 亚洲日韩在线视频观看| 欧美男人天堂| 国产在线观看无码| 日韩激情在线| 天天干天天天天| 99热8| 色婷婷av在线| 99热最新| 91第一页| 免费看a的网站| 亚洲无码大全| 日本免费一二三区| 欧美一区视频| 中文资源在线a| www.91爱爱,com| 毛片网站视频| 69av在线| 精品人妻一区二区三区在线视频不卡| 大香蕉福利视频导航| 京东一热本色道久久爱| 四虎激情| 久久久久亚洲AV成人网人人软件 | 欧美黄片在线| 亚洲天堂视频在线播放| 99热在线观看| 亚洲精品人人| 成人色色视频| 成人中文字幕在线| 动漫3D成人H无码国漫| 二区视频| 大香蕉在线啪啪| 日韩无码高清视频| 亚洲A在线观看| 免费看特别黄色视频| 91久久| av天堂小说网| 国产午夜视频在线观看| 日本久久综合网| 免费看欧美日黄片| 超碰天天操| 免费无遮挡视频网站视频| 99精品在线免费观看| 视频一区中文字幕| 黄色一级大片| 97在线精品| 天天撸免费视频| 国产成人av在线| 国产三级性爱视频| 黄片www| 欧美VA视频| 亚洲国产av一区| 激情开心五月天| 91人妻中文字幕| 黄色毛片网站| 亚洲无码一二区| 日本午夜影院| 日韩高清不卡| 亚洲中文无码电影| 日韩免费在线观看一区入口| 欧洲成人免费视频| 欧美AA级毛片| 中文字幕亚洲在线| 亚洲黄色一区| 伊人偷拍视频| 日本人妻中文字幕| 红桃视频无码| 伊人婷婷久久| 亚洲高清在线观看视频| 中国婬乱a| 国产欧美二区综合中文字幕精品一| 无码一二三四| 91亚洲国产精品| 乱码少妇| 操操网| 色婷婷狠| 五月天激情小说| 婷婷爱五月| 日韩视频在线观看一区| 国产人人操| 人人草人人摸人人看| 亚洲精品18在线观看| 日本五十路| 色欲久久久| 超碰自拍99| 人人爽人人爽人人爽| 亚洲AV无码精品国产| 插入综合网| 国产精品一二区| 91AV免费在线观看| 欧美熟女内射| 91麻豆成人| 香蕉AV777XXX色综合一区| 手机看片1024久久| 插逼网站| 亚洲春色一区二区三区| 91久久人澡人妻人人澡人人爽| 天天操天天日天天干| 超碰在线观看免费| 国产美女免费视频| 婷婷色色婷婷五月天| 爱爱无码视频| 91精品国产成人做爰观看奶头 | 日本免费版网站nba| 亚洲中文字幕av天堂| 日本免费高清视频| 黄色视频毛片一一| 免费av一区二区| 特级西西WWW888| 成人区人妻精品一| 操人在线观看| 日韩操逼视频| 翔田千里一区二区三区| 成人免费在线电影| 99精品视频北条麻妃国产版 | 国产亚洲精品久久久久动| 人操人操人操| 97综合久久| 91精品久久人妻一区二区夜夜夜| 五月天婷婷激情网| 国产精品777777| 人妻少妇av中文字幕乱码牛牛| 国产精品色8| 97精品人妻一区二区三区香蕉 | 婷婷成人视频| 香蕉视频免费| 久久久久久久国产精品| 青娱乐老视频| 免费日批网站| 亚洲va综合va国产va中文| 婷婷五月天av| 无码在线网站| 国产精品视频在线播放| 强波多野结衣黑人| 日本AⅤ在线| 亚洲欧美成人在线观看| 日日夜夜综合| 国产偷拍精品视频| 97国产在线视频| 国产成人无码免费| 欧美日韩在线观看中文字幕| 亚洲性爱片| 狼人久久| 熊猫成人网| 午夜h片| 久久精品国产AV一区二区三区 | 91人人澡| 婷婷在线综合| 91成人福利视频| 免费观看A级毛片| 国产熟女一区二区久久| 尻屄网站| 国产精品免费一区二区三区都可以| 你懂得在线视频| 中国少妇| 三级片视频网站| 69国产精品| 激情综合网站| 国产精品自在线| 欧美色色影院| 欧美一级日韩一级| 久久AV影院| www.久久久| 69福利社| 麻豆91久久久| 3级毛片| 欧美色色色色色色| 狠狠插狠狠操| 亚洲第一黄色视频| 91人妻一区二区三区无不码超满 | 亚洲综合色网站| 东北女人毛多又黑A片| 一区二区三区四区五区六区高清无吗视频| 2021无码| 日一日干一干| 一级黄色录像视频| 69国产成人精品二区| 丁香五月激情中文字幕| 亚洲性爱AV| 黑人无码AV黑人天堂无码AV| 精品五月天| 在线黄色视频网站| 国产一级在线免费观看| 亚洲欧洲久久电影| 夜夜欢天天干| 无码AⅤ一区二区三区| 日韩在线视频中文字幕码无| 韩日av| 乱伦AV网| 毛片自拍| 欧美日韩三级片| 无码人妻av黄色一区二区三区| 西西人体444rt高清大胆模特 | 五月丁香天堂网| 亚洲成人无码在线播放| 北条麻妃在线一区二区| 精品久久无码中文字幕| 在线观看免费黄| 欧美日韩成人| 午夜激情视频| 91精品国产麻豆国产自产在线| 无码人妻A片一区二区青苹果| 大香蕉在线视频网| 安微妇搡BBBB搡BBBB日| 日韩图片区小说视频区日| 成人视频免费在线观看| 久久视频免费观看| 久久国产黄色视频| 日韩无码高清一区| 五月丁香六月激情综合| 国产一精品一aⅴ一免费| 青青青青操| 五月天综合网| 亚洲无码性爱| 国产中文字幕在线视频| 99精品视频免费| 亚洲在线一区| 亚洲在线中文| 日本豆花视频| 日韩AV成人无码久久电影| 大香焦草久| 性感欧美美女| 五月婷婷丁香五月| 欧美日韩国产成人| 69国产精品| 在线观看污网站| 欧一美一婬一伦一区二区三区自慰,| 美女一级A片| AV高清无码在线观看| 欧美一级AAA大片免费观看| 奶头和荫蒂添的好舒服囗交漫画 | 六月色婷婷| 日本黄色一级视频| 爆操人妻| 日本爱爱免费| 亚洲AV免费电影| 四川BBB搡BBB爽爽爽电影| 北条麻妃99精品青青久久| 亚洲色香蕉| 成人五月天黄色电影| 亚洲日韩中文无码| 亚洲成人性爱av| 成人片成人片| 超碰av在线| 91探花足浴店少妇在线| 91爱爱视频| 亚洲青青草| caopro| 毛片三级片| 亚洲区在线| 一级特黄录像免费播放下载软件| 五月天婷婷成人| 国产成人综合电影| 清清草在线视频| www.黄色av| 久久六六| 日韩欧美日韩| 欧美V视频| 亚洲AV综合色区无码国产播放| 懂色在线精品分类视频| 97日韩天堂| 免费AV在线| 日韩在线小视频| 国产精品内射婷婷一级二| 无码高潮| 久草免费在线视频| 成年人黄色片| 日产毛片| 内射无码专区久久亚洲| 波多野结衣av在线播放| 成人一级黄片| 亚洲V国产v欧美v久久久久久| 草B视频| 久久久WWW成人免费精品| 国产三级片在线观看视频| 天天日狠狠操| 河南熟妇搡BBBB搡BBBB | 韩国三级中文字幕HD久久精品| 抽插视频欧美| 青青草东路热vv| 国产高清做爱| 最近中文字幕高清2019中文字幕 | 先锋成人AV| 中文字幕2025年最好看电视剧| 亚洲秘一区二区三区-精品亚洲二区- | 欧美日本中文字幕| 国产黄色视频网站在线观看| 亚洲精品午夜| 99热国产在线观看| 亚洲系列中文字幕| 亚洲一级视频在线观看| 国产精品污www在线观看| 成人免费视频网| 无码人妻丰满熟妇精品| 亚洲秘av无码一区二区| 日韩福利网| 黄色电影天堂| 日韩精品在线观看免费| 亚洲.欧美.丝袜.中文.综合 | 亚洲AV无码成人精品涩涩麻豆| 日韩av一区二区三区| 亚洲午夜福利电影| 日韩无码性爱| 欧美日本黄色| 东京热精品视频| GOGO人体做爰大胆视频| 91丨露脸丨熟女| 国产精品久久久久久久久免费无码 | 久草黄色| 伦理被部长侵犯HD中字| 精品无码三级在线观看视频| JlZZJLZZ亚洲美女18| 美女操逼网站| 黄片网站在线看| 操逼视频无码| 人妻体内射精一区二区| 网站你懂得| 免费看黄色大片| 大香蕉福利视频| 日韩免费| A∨无码免费| 操极品美女| а√在线中文网新版地址在线| 久99在线视频| 无码人妻免费视频| 天堂中文资源在线观看| 懂色av懂色av粉嫩av| 日本黄色直播| 国产午夜激情视频| 天堂一区二区18| www.99av| 日本不卡在线视频| 蜜桃传媒一区二区亚洲| 激情AV在线| 狠狠色婷婷7777| 日韩AV在线免费观看| 杨晨晨不雅视频| 91视频成人版一区二区| 影音先锋AV成人| 免费的AV网站| 国产乱叫456在线| 无码9999| 日韩中文字幕精品| 黄色大片免费在线观看| 99在线精品视频免费观看20| 国产精品色色| 丁香久久| 亚洲操逼视频| 大香伊人蕉| 按摩性高湖婬AAA片A片中国| 97人操| 靠逼网站免费观看| 你懂的视频在线播放| 好男人WWW一区二区三区| 色悠久久久| 最新无码视频| 日韩人妻无码视频| 亚洲成人在线播放| 大屌一区二区三区| 国产AVwww| 丁香五月综合啪啪| 大伊香蕉在线| 色综合天天综合成人网| A级片在线观看| 特级特黄AAAAAAAA片| 国产成人久久777777黄蓉| 三级片在线看片AV| 日韩三级一区二区| 亚洲天堂三级片| 国产香蕉91| 成人亚洲AV| 中文字幕第2页| 广东BBW搡BBBB搡| 亚洲无码天堂| 天天射夜夜骑| 日韩操比视频| 91视频第一页| 伊人影院视频| 人人看人人草| 深爱五月婷婷| 杨晨晨不雅视频| 亚洲精品国产成人| 超碰人人爱人人操| 噜噜噜在线视频| 91精品国产aⅴ一区二区| 白嫩外女BBWBBWBBW| 大香蕉福利导航| 人妻少妇偷人精品无码免费| 九色av| 色婷婷成人网| 99热这里只有精| 99久久国| 日本日韩欧美| 国产精品欧美综合在线| 伊人影院在线免费观看| 欧美熟妇高潮流白浆| 亚洲成人视频在线免费观看| 国产精品国产三级国产专业不| 麻豆国产| 成人大香蕉| 777国产盗摄偷窥精品0000| 日韩一级在线免费观看| 在线观看视频亚洲| 亚洲综合社区| 91精品国产欧美一区二区成人| 亚洲小说图片AV在线| 人人艹在线观看| 国产无码高清在线| 特级西西444www大精品| 自拍偷拍视频网站| 久热中文字幕| 中国一级黄片| 爱爱综合| 久久久久蜜桃| 综合成人| 操逼综合网| 亚洲午夜福利一区二区三区| 逼逼AV| 国产第一页在线播放| 中文字幕日韩人妻在线| 欧美一级在线观看| 美女少妇激情BBBB| 三级毛片在线| 黑人狂躁女人高潮视频| 91偷拍网| 在线日韩中文字幕| 国产精久久| 69福利网| 人人操在线播放| 波多野结衣一区二区| 国产精品视频久久久久| 国产av中文| 国产v视频| 暖暖爱视频免费| 午夜黄色操逼视频| 全国男人的天堂网站| 97国产高清| 中文字幕网址在线| avav无码| 怡红院成人在线| 日本一区不卡| 久久国产性爱| 人人干人人摸| 国产日韩欧美成人| 乱子伦毛片国产| 久久久成人视频| 亚洲视频在线免费观看| 青青草在线观看免费| 婷婷五月天性爱| 亚洲性视频| 日本一级一片免费视频| 大香蕉AV电影| 色色色色五月| 五月婷婷中文| 一区二区三区精品婷婷| 国产高清AV在线| 911国产精品| 国产白丝在线观看| 日韩视频一二三| 亚洲无码三级视频| 午夜成人福利片| 久热在线视频| 日韩v欧美v日本v亚洲v国产v| 仓井空一区| 六月婷婷激情| 91人妻在线| 天天久久毛片| sm在线观看| 91视频一区二区三区| 香蕉av在线播放| 国产1级a毛a毛1级a毛1级| 91蜜桃精品| 91成人免费视频| 日本一区二区三区四区在线观看| 91香蕉视频免费在线观看| 人人摸人人操人人| 亚洲va综合va国产va中文| 无码视频中文字幕| 五月深爱| 91精品在线播放| 蜜臀无码在线| 国产色呦呦| 国产在线观看免费视频| 四色五月婷婷| 国产亚洲欧洲| 亚洲一卡二卡| 91丨PORNY丨在线中文| 在线观看视频国产| 中文字幕日韩在线视频| 亚洲AV在线看| 国产精品码ls字幕影视| 91资源在线观看| avav无码| 99热这里是精品| 三级在线观看视频| 狠狠操狠狠操| 999这里只有精品| 91人妻人人澡人人爽人人精品乱 | 国产麻豆三级片| 乱伦五月天| 天天看高清无码| 欧美高潮喷水| 搡BBB搡BBBB搡BBBB-百度| 免费在线观看黄色网址| 内射视频免费观看| 澳门黄片| 天天爱天天插| 免费看黄片的网站| 网络自拍亚洲激情| 亚洲精品在线视频观看| 久久这里都是精品| 手机看片福利永久| 永久m3u8在线观看| 玩弄人妻少妇500系列视频| 国产精品毛片A√一区| 又黄又爽视频| 欧美性爱在线视频| 日本成人激情视频| 久久精品视频一区| 日本一区二区在线| 在线免费亚洲| 蜜桃毛片| 性爱免费视频| 精品三级网站| 国产色哟哟| 久久精品99视频| 波多野结衣一级| 黃色一级A片一級片| 伊人在线综合| 午夜福利影视| 久久777| 国内无码自拍| 亚洲免费观看高清完整版在va线观| 天天日天天干麻豆| 自拍亚洲欧美| 国产福利91精品一区二区三区 | 成人午夜视频精品一区| 久久久久麻豆V国产精华液好用吗| 无码群交东京热| 亚洲高清无码一区二区| 精品视频免费| 日韩AV在线直播| 影音先锋久久久| 欧美日韩黄| 日韩av综合| 波多野结衣av在线播放| 国产av一二三区| 先锋资源一区| 亚洲AV无码国产精品| 97人妻精品一区二区三区软件|