精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python爬蟲實戰:單線程、多線程和協程性能對比

開發 后端
今天我要給大家分享的是如何爬取中農網產品報價數據,并分別用普通的單線程、多線程和協程來爬取,從而對比單線程、多線程和協程在網絡爬蟲中的性能。

[[378975]]

 一、前言

今天我要給大家分享的是如何爬取中農網產品報價數據,并分別用普通的單線程、多線程和協程來爬取,從而對比單線程、多線程和協程在網絡爬蟲中的性能。

目標URL:https://www.zhongnongwang.com/quote/product-htm-page-1.html

爬取產品品名、最新報價、單位、報價數、報價時間等信息,保存到本地Excel。

二、爬取測試

翻頁查看 URL 變化規律: 

  1. https://www.zhongnongwang.com/quote/product-htm-page-1.html  
  2. https://www.zhongnongwang.com/quote/product-htm-page-2.html  
  3. https://www.zhongnongwang.com/quote/product-htm-page-3.html  
  4. https://www.zhongnongwang.com/quote/product-htm-page-4.html  
  5. https://www.zhongnongwang.com/quote/product-htm-page-5.html  
  6. https://www.zhongnongwang.com/quote/product-htm-page-6.html 

檢查網頁,可以發現網頁結構簡單,容易解析和提取數據。

思路:每一條產品報價信息在 class 為 tb 的 table 標簽下的 tbody 下的 tr 標簽里,獲取到所有 tr 標簽的內容,然后遍歷,從中提取出每一個產品品名、最新報價、單位、報價數、報價時間等信息。 

  1. # -*- coding: UTF-8 -*-  
  2. """  
  3. @File    :demo.py  
  4. @Author  :葉庭云  
  5. @CSDN    :https://yetingyun.blog.csdn.net/  
  6. """  
  7. import requests  
  8. import logging  
  9. from fake_useragent import UserAgent  
  10. from lxml import etree  
  11. # 日志輸出的基本配置  
  12. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s' 
  13. # 隨機產生請求頭  
  14. ua = UserAgent(verify_ssl=Falsepath='fake_useragent.json' 
  15. url = 'https://www.zhongnongwang.com/quote/product-htm-page-1.html'  
  16. # 偽裝請求頭  
  17. headers = {  
  18.     "Accept-Encoding": "gzip",  # 使用gzip壓縮傳輸數據讓訪問更快  
  19.     "User-Agent": ua.random  
  20.  
  21. # 發送請求  獲取響應  
  22. rep = requests.get(url, headersheaders=headers)  
  23. print(rep.status_code)    # 200  
  24. # Xpath定位提取數據  
  25. html = etree.HTML(rep.text)  
  26. items = html.xpath('/html/body/div[10]/table/tr[@align="center"]')  
  27. logging.info(f'該頁有多少條信息:{len(items)}')  # 一頁有20條信息  
  28. # 遍歷提取出數據  
  29. for item in items:  
  30.     name = ''.join(item.xpath('.//td[1]/a/text()'))  # 品名  
  31.     price = ''.join(item.xpath('.//td[3]/text()'))   # 最新報價  
  32.     unit = ''.join(item.xpath('.//td[4]/text()'))    # 單位  
  33.     nums = ''.join(item.xpath('.//td[5]/text()'))    # 報價數  
  34.     time_ = ''.join(item.xpath('.//td[6]/text()'))   # 報價時間  
  35.     logging.info([name, price, unit, nums, time_]) 

運行結果如下:

可以成功爬取到數據,接下來分別用普通的單線程、多線程和協程來爬取 50 頁的數據、保存到Excel。

三、單線程爬蟲 

  1. # -*- coding: UTF-8 -*-  
  2. """  
  3. @File    :單線程.py  
  4. @Author  :葉庭云  
  5. @CSDN    :https://yetingyun.blog.csdn.net/  
  6. """  
  7. import requests  
  8. import logging  
  9. from fake_useragent import UserAgent  
  10. from lxml import etree  
  11. import openpyxl  
  12. from datetime import datetime  
  13. # 日志輸出的基本配置  
  14. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s' 
  15. # 隨機產生請求頭  
  16. ua = UserAgent(verify_ssl=Falsepath='fake_useragent.json' 
  17. wb = openpyxl.Workbook() 
  18. sheet = wb.active 
  19. sheet.append(['品名', '最新報價', '單位', '報價數', '報價時間'])  
  20. start = datetime.now()  
  21. for page in range(1, 51):  
  22.     # 構造URL  
  23.     url = f'https://www.zhongnongwang.com/quote/product-htm-page-{page}.html'  
  24.     # 偽裝請求頭 
  25.     headers = {  
  26.         "Accept-Encoding": "gzip",  # 使用gzip壓縮傳輸數據讓訪問更快  
  27.         "User-Agent": ua.random  
  28.     }  
  29.     # 發送請求  獲取響應  
  30.     rep = requests.get(url, headersheaders=headers)  
  31.     # print(rep.status_code)  
  32.     # Xpath定位提取數據  
  33.     html = etree.HTML(rep.text)  
  34.     items = html.xpath('/html/body/div[10]/table/tr[@align="center"]')  
  35.     logging.info(f'該頁有多少條信息:{len(items)}')  # 一頁有20條信息  
  36.     # 遍歷提取出數據  
  37.     for item in items:  
  38.         name = ''.join(item.xpath('.//td[1]/a/text()'))  # 品名  
  39.         price = ''.join(item.xpath('.//td[3]/text()'))   # 最新報價  
  40.         unit = ''.join(item.xpath('.//td[4]/text()'))    # 單位  
  41.         nums = ''.join(item.xpath('.//td[5]/text()'))    # 報價數  
  42.         time_ = ''.join(item.xpath('.//td[6]/text()'))   # 報價時間  
  43.         sheet.append([name, price, unit, nums, time_])  
  44.         logging.info([name, price, unit, nums, time_])  
  45. wb.save(filename='data1.xlsx' 
  46. delta = (datetime.now() - start).total_seconds()  
  47. logging.info(f'用時:{delta}s') 

運行結果如下:

單線程爬蟲必須上一個頁面爬取完成才能繼續爬取,還可能受當時網絡狀態影響,用時48.528703s,才將數據爬取完,速度比較慢。

四、多線程爬蟲 

  1. # -*- coding: UTF-8 -*-  
  2. """  
  3. @File    :多線程.py  
  4. @Author  :葉庭云  
  5. @CSDN    :https://yetingyun.blog.csdn.net/  
  6. """  
  7. import requests  
  8. import logging  
  9. from fake_useragent import UserAgent  
  10. from lxml import etree  
  11. import openpyxl  
  12. from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED  
  13. from datetime import datetime  
  14. # 日志輸出的基本配置  
  15. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s' 
  16. # 隨機產生請求頭  
  17. ua = UserAgent(verify_ssl=Falsepath='fake_useragent.json' 
  18. wb = openpyxl.Workbook()  
  19. sheet = wb.active  
  20. sheet.append(['品名', '最新報價', '單位', '報價數', '報價時間'])  
  21. start = datetime.now() 
  22. def get_data(page):  
  23.     # 構造URL  
  24.     url = f'https://www.zhongnongwang.com/quote/product-htm-page-{page}.html'  
  25.     # 偽裝請求頭  
  26.     headers = {  
  27.         "Accept-Encoding": "gzip",    # 使用gzip壓縮傳輸數據讓訪問更快  
  28.         "User-Agent": ua.random  
  29.     }  
  30.     # 發送請求  獲取響應  
  31.     rep = requests.get(url, headersheaders=headers)  
  32.     # print(rep.status_code)  
  33.     # Xpath定位提取數據  
  34.     html = etree.HTML(rep.text)  
  35.     items = html.xpath('/html/body/div[10]/table/tr[@align="center"]')  
  36.     logging.info(f'該頁有多少條信息:{len(items)}')  # 一頁有20條信息  
  37.     # 遍歷提取出數據  
  38.     for item in items:  
  39.         name = ''.join(item.xpath('.//td[1]/a/text()'))   # 品名  
  40.         price = ''.join(item.xpath('.//td[3]/text()'))    # 最新報價  
  41.         unit = ''.join(item.xpath('.//td[4]/text()'))     # 單位  
  42.         nums = ''.join(item.xpath('.//td[5]/text()'))     # 報價數  
  43.         time_ = ''.join(item.xpath('.//td[6]/text()'))    # 報價時間  
  44.         sheet.append([name, price, unit, nums, time_])  
  45.         logging.info([name, price, unit, nums, time_]) 
  46. def run():  
  47.     # 爬取1-50頁  
  48.     with ThreadPoolExecutor(max_workers=6) as executor:  
  49.         future_tasks = [executor.submit(get_data, i) for i in range(1, 51)]  
  50.         wait(future_tasks, return_when=ALL_COMPLETED 
  51.     wb.save(filename='data2.xlsx' 
  52.     delta = (datetime.now() - start).total_seconds()  
  53.     print(f'用時:{delta}s')  
  54. run() 

運行結果如下:

多線程爬蟲爬取效率提升非常可觀,用時 2.648128s,爬取速度很快。

五、異步協程爬蟲 

  1. # -*- coding: UTF-8 -*-  
  2. """  
  3. @File    :demo1.py  
  4. @Author  :葉庭云  
  5. @CSDN    :https://yetingyun.blog.csdn.net/  
  6. """  
  7. import aiohttp  
  8. import asyncio  
  9. import logging  
  10. from fake_useragent import UserAgent  
  11. from lxml import etree  
  12. import openpyxl  
  13. from datetime import datetime  
  14. # 日志輸出的基本配置  
  15. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s' 
  16. # 隨機產生請求頭  
  17. ua = UserAgent(verify_ssl=Falsepath='fake_useragent.json' 
  18. wb = openpyxl.Workbook()  
  19. sheet = wb.active 
  20. sheet.append(['品名', '最新報價', '單位', '報價數', '報價時間'])  
  21. start = datetime.now()  
  22. class Spider(object):  
  23.     def __init__(self):  
  24.         # self.semaphore = asyncio.Semaphore(6)  # 信號量,有時候需要控制協程數,防止爬的過快被反爬  
  25.         self.header = {  
  26.                 "Accept-Encoding": "gzip",    # 使用gzip壓縮傳輸數據讓訪問更快  
  27.                 "User-Agent": ua.random  
  28.             } 
  29.     async def scrape(self, url):  
  30.         # async with self.semaphore:  # 設置最大信號量,有時候需要控制協程數,防止爬的過快被反爬  
  31.         session = aiohttp.ClientSession(headers=self.header, connector=aiohttp.TCPConnector(ssl=False))  
  32.         response = await session.get(url)  
  33.         result = await response.text()  
  34.         await session.close()  
  35.         return result  
  36.     async def scrape_index(self, page):  
  37.         url = f'https://www.zhongnongwang.com/quote/product-htm-page-{page}.html'  
  38.         text = await self.scrape(url)  
  39.         await self.parse(text)  
  40.     async def parse(self, text):  
  41.         # Xpath定位提取數據  
  42.         html = etree.HTML(text)  
  43.         items = html.xpath('/html/body/div[10]/table/tr[@align="center"]')  
  44.         logging.info(f'該頁有多少條信息:{len(items)}')  # 一頁有20條信息  
  45.         # 遍歷提取出數據  
  46.         for item in items:  
  47.             name = ''.join(item.xpath('.//td[1]/a/text()'))  # 品名  
  48.             price = ''.join(item.xpath('.//td[3]/text()'))  # 最新報價  
  49.             unit = ''.join(item.xpath('.//td[4]/text()'))  # 單位  
  50.             nums = ''.join(item.xpath('.//td[5]/text()'))  # 報價數  
  51.             time_ = ''.join(item.xpath('.//td[6]/text()'))  # 報價時間  
  52.             sheet.append([name, price, unit, nums, time_])  
  53.             logging.info([name, price, unit, nums, time_])  
  54.     def main(self):  
  55.         # 50頁的數據  
  56.         scrape_index_tasks = [asyncio.ensure_future(self.scrape_index(page)) for page in range(1, 51)]  
  57.         loop = asyncio.get_event_loop()  
  58.         tasks = asyncio.gather(*scrape_index_tasks)  
  59.         loop.run_until_complete(tasks)  
  60. if __name__ == '__main__':  
  61.     spider = Spider()  
  62.     spider.main()  
  63.     wb.save('data3.xlsx')  
  64.     delta = (datetime.now() - start).total_seconds()  
  65.     print("用時:{:.3f}s".format(delta)) 

運行結果如下:

而到了協程異步爬蟲,爬取速度更快,嗖的一下,用時 0.930s 就爬取完 50 頁數據,aiohttp + asyncio 異步爬蟲竟恐怖如斯。異步爬蟲在服務器能承受高并發的前提下增加并發數量,爬取效率提升是非常可觀的,比多線程還要快一些。

三種爬蟲都將 50 頁的數據爬取下來保存到了本地,結果如下:

六、總結回顧

今天我演示了簡單的單線程爬蟲、多線程爬蟲和協程異步爬蟲。可以看到一般情況下異步爬蟲速度最快,多線程爬蟲略慢一點,單線程爬蟲速度較慢,必須上一個頁面爬取完成才能繼續爬取。

但協程異步爬蟲相對來說并不是那么好編寫,數據抓取無法使用 request 庫,只能使用aiohttp,而且爬取數據量大時,異步爬蟲需要設置最大信號量來控制協程數,防止爬的過快被反爬。所以在實際編寫 Python 爬蟲時,我們一般都會使用多線程爬蟲來提速,但必須注意的是網站都有 ip 訪問頻率限制,爬的過快可能會被封ip,所以一般我們在多線程提速的同時可以使用代理 ip 來并發地爬取數據。

  •  多線程(multithreading):是指從軟件或者硬件上實現多個線程并發執行的技術。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程,進而提升整體處理性能。具有這種能力的系統包括對稱多處理機、多核心處理器以及芯片級多處理或同時多線程處理器。在一個程序中,這些獨立運行的程序片段叫作 "線程" (Thread),利用它編程的概念就叫作 "多線程處理"。
  •  異步(asynchronous):為完成某個任務,不同程序單元之間過程中無需通信協調,也能完成任務的方式,不相關的程序單元之間可以是異步的。例如,爬蟲下載網頁。調度程序調用下載程序后,即可調度其他任務,而無需與該下載任務保持通信以協調行為。不同網頁的下載、保存等操作都是無關的,也無需相互通知協調。這些異步操作的完成時刻并不確定。簡言之,異步意味著無序。
  •  協程(coroutine),又稱微線程、纖程,協程是一種用戶態的輕量級線程。協程擁有自己的寄存器上下文和棧。協程調度切換時,將寄存器上下文和棧保存到其他地方,在切回來的時候,恢復先前保存的寄存器上下文和棧。因此協程能保留上一次調用時的狀態,即所有局部狀態的一個特定組合,每次過程重入時,就相當于進入上一次調用的狀態。協程本質上是個單進程,協程相對于多進程來說,無需線程上下文切換的開銷,無需原子操作鎖定及同步的開銷,編程模型也非常簡單。我們可以使用協程來實現異步操作,比如在網絡爬蟲場景下,我們發出一個請求之后,需要等待一定的時間才能得到響應,但其實在這個等待過程中,程序可以干許多其他的事情,等到響應得到之后才切換回來繼續處理,這樣可以充分利用 CPU 和其他資源,這就是協程的優勢。 

 

責任編輯:龐桂玉 來源: Python中文社區 (ID:python-china)
相關推薦

2020-11-09 09:33:37

多線程

2023-08-17 14:12:17

2021-06-11 11:28:22

多線程fork單線程

2023-12-13 09:56:13

?多進程多線程協程

2024-09-27 11:51:33

Redis多線程單線程

2009-07-10 09:05:20

SwingWorker

2012-02-15 10:26:40

JavaJava Socket

2023-12-01 08:18:24

Redis網絡

2019-10-29 20:13:43

Java技術程序員

2020-09-23 13:37:25

Redis6.0

2025-06-17 00:22:00

2020-11-17 10:20:53

Redis多線程單線程

2010-08-30 08:55:56

JavaScript引

2022-01-04 11:11:32

Redis單線程Reactor

2018-01-11 08:24:45

服務器模型詳解

2010-01-28 16:45:44

Android單線程模

2024-02-26 00:00:00

JavaScript單線程高效

2025-04-24 08:15:00

Redis單線程線程

2017-03-06 14:08:38

JavaScript單線程setTimeout

2023-06-08 08:21:08

多線程編程線程間通信
點贊
收藏

51CTO技術棧公眾號

亚洲一区二区精品| 久草在线青青草| 污污影院在线观看| 一本色道88久久加勒比精品| 国产精品久久久久久久久果冻传媒| 美女精品久久久| 国产福利一区视频| 好吊日在线视频| 中文在线а√在线8| 精品亚洲国产成人av制服丝袜| 日韩欧美久久久| 亚洲精品乱码视频| 影音先锋亚洲天堂| 一区二区三区欧洲区| 中文字幕一区二区日韩精品绯色| 亚洲最大福利网| 麻豆精品国产免费| 欧美成a人片在线观看久| 成人精品鲁一区一区二区| 日韩在线国产精品| 一级特黄性色生活片| 免费国产在线观看| 国产日韩欧美一区在线 | 日韩精品免费在线视频观看| 大桥未久一区二区| 自拍偷拍色综合| 亚洲老女人视频免费| 亚洲综合色自拍一区| 亚洲一区二区三区久久| 美国黄色小视频| 狂野欧美xxxx韩国少妇| 亚洲激情校园春色| 亚洲一区二区自拍| 天码人妻一区二区三区在线看 | 久久综合九九| 欧美亚洲日本在线| 成人资源在线播放| 午夜电影网一区| 久久精品二区| 久久精品偷拍视频| 日韩欧美一区二区三区免费看| 色老汉一区二区三区| 日本高清一区| 国产又粗又黄又爽的视频| 国产精品成人av| 欧美一区二区三区视频免费| 日本一道在线观看| 亚洲AV午夜精品| 亚洲毛片视频| 亚洲色图国产精品| 国产成年人视频网站| 成人a在线视频免费观看| 国产精品一区二区在线观看网站| 欧美激情伊人电影| 日韩精品视频一区二区| 亚洲精品永久免费视频| 午夜国产精品影院在线观看| 91成人综合网| 国产资源在线看| 91在线播放网址| 国产精品丝袜一区二区三区| 国产精品成人免费观看| 亚洲网色网站| 精品性高朝久久久久久久| 在线观看日本一区二区| 成年人视频免费在线播放| 久久久久久久久久久久久夜| 成人精品aaaa网站| 精品无码久久久久| 国产一区二区观看| 欧美r级在线观看| 国产又大又黄又猛| 日韩电影毛片| 亚洲精品中文在线观看| 久久久影院一区二区三区| 五十路在线视频| 国产一区激情在线| 国产精品成人av性教育| 激情综合五月网| 欧美限制电影| 日韩成人在线视频观看| 久久丫精品国产亚洲av不卡| 国产精品久久久久久久久久辛辛 | 日本黄色不卡视频| 美国欧美日韩国产在线播放| 午夜精品一区二区三区在线视 | 日本在线播放一区二区| 精品一区91| 亚洲成人精品视频| 天天操狠狠操夜夜操| 电影91久久久| 亚洲精品国产suv| 91视频福利网| 成人网ww555视频免费看| 午夜久久电影网| 国产裸体免费无遮挡| 四虎国产精品免费久久| 欧美性jizz18性欧美| 白白操在线视频| av亚洲在线| 久久久蜜臀国产一区二区| 亚洲三区视频| yjizz视频网站在线播放| 91在线视频免费91| 一本一生久久a久久精品综合蜜| 伊人222成人综合网| 亚洲日本在线a| 在线看成人av电影| www视频在线观看免费| 亚洲品质自拍视频| 久久久免费视频网站| 国产精品13p| 亚洲成人免费影院| 免费在线观看视频a| 国产第一页在线| 欧美三区在线视频| 亚洲第一狼人区| 成人福利一区| www日韩中文字幕在线看| 国产123在线| jlzzjlzz亚洲女人| 正在播放欧美视频| 91社区视频在线观看| 国产一区二区三区四区| 欧美成人中文字幕| 啪啪小视频网站| 99久久99久久精品免费看蜜桃| 国产美女视频免费| 国产在线观看a视频| 国产精品国产自产拍高清av | 欧美三级视频网站| 国产日韩亚洲欧美精品| 99国产在线视频| 国产高清在线观看视频| 国产精品中文字幕一区二区三区| 欧美人xxxxx| 国产精品影院在线| 亚洲国产精品传媒在线观看| 亚洲一卡二卡三卡| 日韩影片中文字幕| 777a∨成人精品桃花网| 色偷偷中文字幕| 日韩在线不卡| 国产精品视频精品| 国产精品久久久久久久成人午夜 | 亚洲午夜久久久久久久久| 成人午夜三级| 欧美风情在线观看| 丁香六月婷婷综合| 久久精品国产成人一区二区三区| 免费毛片一区二区三区久久久| av在线视屏| 欧美在线一区二区| 国产一级二级av| 欧美日韩一区二区三区不卡视频| 亚洲色在线视频| 久久久精品视频网站| 久久免费美女视频| 超碰10000| 清纯唯美激情亚洲| 亚洲午夜性刺激影院| 青青草免费观看视频| 久久久一区二区三区捆绑**| 99久久激情视频| 天堂久久av| 久久久久久久国产精品| 日本人妻丰满熟妇久久久久久| 亚洲大片精品永久免费| 精品一区二区视频在线观看| 亚洲激情午夜| 欧美12av| 久久亚洲国产精品尤物| 亚洲精品久久久一区二区三区 | 国产ts丝袜人妖系列视频| 精品色999| 国产乱肥老妇国产一区二 | 99热手机在线| 亚洲成人一区| 日本久久久久久久| 精品人妻av一区二区三区| 99久久婷婷国产综合精品| 福利网在线观看| 奇米一区二区| 国产91在线播放九色快色| 日本激情视频在线观看| 色婷婷综合在线| 蜜臀视频在线观看| 欧美mv日韩| 国产精品国产三级国产专播精品人 | 亚洲精品在线观| 成人在线观看小视频| 国产**成人网毛片九色 | 91久久中文字幕| 黄色片在线免费观看| 欧美视频精品在线| 久久久久成人网站| 久久久久青草大香线综合精品| av免费一区二区| 一区二区三区福利| 椎名由奈jux491在线播放| 老司机精品在线| 欧美理论电影在线播放| 国产又粗又猛又爽又黄的视频一| 亚洲久本草在线中文字幕| 91av在线免费| 国产麻豆精品在线| 亚洲黄色a v| 在线欧美日韩| 激情欧美一区二区三区中文字幕| caopon在线免费视频| 国产丝袜精品视频| 精品国产区一区二| 欧美日韩综合在线免费观看| 麻豆亚洲av熟女国产一区二| 亚洲国产精品激情在线观看| 麻豆精品国产传媒av| 麻豆精品新av中文字幕| 亚洲 高清 成人 动漫| 人人精品视频| 91丝袜脚交足在线播放| 国产成人免费9x9x人网站视频 | 亚洲一区二区在| 免费av一区二区三区四区| 欧洲亚洲女同hd| 九色国产在线观看| 精品国产91亚洲一区二区三区婷婷| 又骚又黄的视频| 中文字幕在线免费不卡| www.久久国产| 99在线精品免费| 麻豆av免费看| 久久成人在线| 亚洲乱码一区二区三区 | 国产成人精品亚洲午夜麻豆| 做爰高潮hd色即是空| 久久91成人| 久久亚洲午夜电影| 人人精品亚洲| 精品日本一区二区三区| 成人在线视频你懂的| 91日韩久久| 香蕉大人久久国产成人av| 91在线免费观看网站| 欧美韩国日本| 国产精品久久久久久av下载红粉 | 激情综合自拍| 久久综合久久久久| 黄色日韩在线| 欧美日韩精品久久久免费观看| 国产成人精品福利| 国产精品视频一区二区高潮| 波多野结衣亚洲| xvideos亚洲人网站| 香蕉视频网站在线观看| 色偷偷av亚洲男人的天堂| 三区四区电影在线观看| 日韩中文字幕在线视频| 日本高清中文字幕在线| 久久精品国产99国产精品澳门| 色偷偷在线观看| 欧美性色黄大片手机版| 国产无遮挡aaa片爽爽| 国产精品美女久久久久久久| 99riav国产精品视频| 国产v日产∨综合v精品视频| 深夜视频在线观看| av在线一区二区| 久久久久国产精品区片区无码| 94色蜜桃网一区二区三区| caopeng视频| 国产伦精品一区二区三区免费迷| 亚洲天堂网站在线| 男女精品视频| 狠狠躁狠狠躁视频专区| 狠狠网亚洲精品| 在线观看一区二区三区四区| 99精品久久久久久| 91资源在线播放| 综合久久给合久久狠狠狠97色| 亚欧洲乱码视频| 中文字幕中文字幕在线一区| 久草综合在线视频| 午夜精品福利久久久| 久久精品久久久久久久| 亚洲大片免费看| 丰满人妻一区二区三区四区| 777午夜精品视频在线播放| 狠狠躁日日躁夜夜躁av| 91麻豆精品久久久久蜜臀| 草草视频在线播放| 亚洲欧洲高清在线| 黄色网址在线免费播放| 97久久久久久| 精品九九久久| 国模一区二区三区私拍视频| 亚洲精选av| 欧美高清视频一区| 一区二区在线| 亚洲中文字幕无码不卡电影| 久草在线在线精品观看| 日本肉体xxxx裸体xxx免费| 国产福利一区在线观看| 丰满少妇高潮一区二区| 亚洲三级小视频| www.com亚洲| 精品久久久久av影院| 国产日韩精品在线看| 欧美精品video| 欧美视频第一| 美女视频久久| 欧美另类女人| 九九爱精品视频| 久久av中文字幕片| 素人fc2av清纯18岁| 亚洲黄色小视频| 中文字幕人妻一区二区三区视频| 欧美在线不卡视频| 国产 日韩 欧美 综合| 色阁综合伊人av| 中文字幕不卡三区视频| av一本久道久久波多野结衣| 全球成人免费直播| 国产免费一区二区三区视频| 久久精品天堂| 国产高潮失禁喷水爽到抽搐 | 亚洲a∨精品一区二区三区导航| 国产91精品一区二区绿帽| 精品五月天堂| 日本老太婆做爰视频| 久国产精品韩国三级视频| 成人激情五月天| 色综合久久久网| 深夜福利视频在线免费观看| 亚洲热线99精品视频| 国产精品13p| 国产在线一区二区三区欧美 | 久久久久国产视频| 日韩最新av| 免费的一级黄色片| 国产成人超碰人人澡人人澡| 日韩在线中文字幕视频| 欧美人体做爰大胆视频| 精品久久久久中文慕人妻| 久久精品久久久久电影| 四虎国产精品免费久久| 在线观看成人av| 精品在线你懂的| 国产色无码精品视频国产| 在线91免费看| 91蜜桃在线视频| 成人在线资源网址| 亚洲黄色一区| 女~淫辱の触手3d动漫| 欧美日韩在线视频一区二区| 日本亚洲欧美| 国产精品对白刺激| 欧美疯狂party性派对| 一二三av在线| 一区二区三区不卡视频在线观看| 亚洲福利在线观看视频| 久久免费国产精品1| 玖玖精品在线| 中文字幕黄色大片| 国产99精品国产| 久久久午夜影院| 欧美一区二区三区播放老司机| 成人福利片网站| 国产伦精品一区| 在线国产一区二区| 中文字幕制服丝袜| 欧美日韩精品在线播放| 国产乱人乱偷精品视频| 欧美成人性色生活仑片| av成人资源| 粉嫩虎白女毛片人体| 国产精品毛片a∨一区二区三区| 国产乱码精品一区二区三区精东| 欧美成人高清视频| 国产精品自在线拍| 成人一区二区三| 亚洲美女偷拍久久| 婷婷在线免费观看| 青青草成人在线| 国产精品久久久久久麻豆一区软件| 四虎国产精品免费| 一本一本久久a久久精品综合麻豆| 香蕉视频在线播放| 国产精品嫩草在线观看| 热久久一区二区| 91成人破解版| 日韩一区二区三区三四区视频在线观看 | 久久综合久久鬼| 亚洲欧洲在线免费| 国产美女视频一区二区| 噜噜噜久久亚洲精品国产品麻豆| 国产精品家庭影院| 日夜干在线视频| 99九九电视剧免费观看| 日韩av网站在线观看| 精品小视频在线观看|