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

手把手教你使用Scrapy框架來爬取北京新發地價格行情(理論篇)

開發 前端
大家好!我是霖hero。上個月的時候,我寫了一篇關于IP代理的文章,手把手教你使用XPath爬取免費代理IP,今天在這里分享我的第二篇文章,希望大家可以喜歡。

[[426532]]

大家好!我是霖hero。上個月的時候,我寫了一篇關于IP代理的文章,手把手教你使用XPath爬取免費代理IP,今天在這里分享我的第二篇文章,希望大家可以喜歡。

前言

有一天,我在逛街,突然被一聲靚仔打斷了我的腳步,回頭一看,原來是水果攤阿姨叫我買水果,說我那么靚仔,便宜一點買給我,自戀的我無法拒絕阿姨的一聲聲靚仔,于是買了很多水果回家,家人問我水果多少錢,結果如何,沒錯,水果買貴了!今天我們使用scrapy框架來爬取北京新發地價格行情,了解商品價格,家人再也不怕我買貴東西啦。

Scrapy簡介

在爬取之前,我們先來學習一下什么Scrapy框架。

Scrapy是一個基于Twisted的異步處理框架,是純Python實現的爬蟲框架,是提取結構性數據而編寫的應用框架,其架構清晰,模塊之間的耦合程度低,可擴展性極強,我們只需要少量的代碼就能夠快速抓取數據。

Scrapy框架介紹

首先我們看看經典的Scrapy框架架構圖,如下圖所示:

學Scrapy框架的絕大部分都看過這個圖,圖中分了很多部分,接下來,我們通過下面的表來簡單地了解各個部分的作用。

名稱 作用 是否要手寫代碼
Engine 引擎,負責數據和信號的在不同模塊間的傳遞。
Scheduler 調度器,存放引擎發過來的requests請求,在引擎再次請求的時候將請求提供給引擎。
Downloader 下載器,下載網頁響應的內容并將內容返回給引擎。
Spiders 爬蟲,處理引擎傳過來的網頁內容并提取數據、url,并返回給引擎。
Item Pipeline 管道,處理引擎傳過來的數據,主要任務是清洗、驗證和存儲數據。
Downloader Middlewares 下載器中間件,位于引擎和下載器之間的橋梁框架,主要是處理引擎與下載器之間的請求及響應,可以自定義下載擴展,如設置代理。 一般不用手寫
Spider MiddlewaresSpider 中間件,位于引擎和爬蟲之間的橋梁框架,主要處理向爬蟲輸入的響應和輸出的結果及新的請求。

在表中,我們可以發現,每部分都要經過引擎,上圖中Scrapy Engine部分也是放在正中心,由此可知,Engine引擎是整個框架的核心。

注意:這些模塊部分只有Spiders和Item Pipeline需要我們自己手寫代碼,其他的大部分都不需要。

Scrapy項目

大致了解了Scrapy框架的各個部分后,接下來我們開始創建一個Scrapy項目,可以使用如下命令:

 

  1. scrapy startproject <Scrapy項目名> 

創建一個scrapy項目名為test1的項目,如下圖所示:

這樣我們就創建好Scrapy項目了,如下圖所示:

其中:

  • spiders:存放spiders的文件夾;
  • items.py:Items的定義,定義爬取的數據結構;
  • middlewares.py:項目中間件文件,定義爬取時的中間件;
  • pipelines.py:項目管道文件,定義數據管道;
  • settings:項目設置文件;
  • scrapy.cfg:Scrapy部署配置文件。

Spider爬蟲

創建spider爬蟲

要創建Spider爬蟲,首先我們要進入剛才創建的Scrapy目錄中,再在命令行運行以下命令:

  1. scrapy genspider <爬蟲名字> <允許爬取的域名> 

  1. http://quotes.toscrape.com 

網站為例子,該網站是一個著名作家名言的網站,創建Spider爬蟲如下圖所示:

創建spider爬蟲后,spiders文件夾中多了一個firstspider.py,這個py文件就是我們創建爬蟲,文件內容如下所示:

  1. import scrapy 
  2.  
  3. class FirstspiderSpider(scrapy.Spider): 
  4.     name = 'firstSpider' 
  5.     allowed_domains = ['quotes.toscrape.com'
  6.     start_urls = ['http://quotes.toscrape.com/'
  7.      
  8.     def parse(self, response): 
  9.         pass 

其中:

  • class FirstspiderSpider()是自定義spider類,繼承自scrapy.Spider
  • name是定義此爬蟲名稱的字符串,每個項目唯一的名字,用來區分不同的Spider,啟動爬蟲時使用scrapy crawl +該爬蟲名字;
  • allowed_domains是允許爬取的域名,防止爬蟲爬到其他網站;
  • start_urls是最開始爬取的url;
  • parse()方法是負責解析返回響應、提取數據或進一步生成要處理的請求,注意:不能修改這個方法的名字。

parse()提取數據并啟動爬蟲

大致了解了firstspider.py文件內容后,我們接下來嘗試在parse()方法中提取響應的數據,具體代碼如下所示:

  1. xpath_parse = response.xpath('/html/body/div[1]/div[2]/div[1]/div'
  2. for xpath in xpath_parse: 
  3.     item={} 
  4.     item['text'] = xpath.xpath('./span[1]/text()').extract_first().replace('“','').replace('”','')       item['author']=xpath.xpath('./span[2]/small/text()').extract_first() 
  5.     print(item) 

這樣我們就成功提取到引擎響應的內容數據了,接著輸入以下命令來運行spider爬蟲:

  1. scrapy crawl firstSpider 

運行結果如下:

運行后發現我們結果里面多了很多log日志,這時可以通過在settings.py添加以下代碼,就可以屏蔽這些log日志:

  1. LOG_LEVEL="WARNING" 

這樣就可以直接輸入我們想要的內容,如下圖所示:

有人可能問:那User-Agent在哪里設置?

我們可以在settings.py中設置User-Agent,代碼如下所示:

items.py介紹

為了避免拼寫錯誤或者定義字段錯誤,我們可以在items.py文件中定義好字段,在上面提取數據中,我們獲取了text、author內容,所以我們可以在items.py定義text和author字段,具體代碼如下所示:

  1. import scrapy 
  2. class Test1Item(scrapy.Item): 
  3.     text= scrapy.Field() 
  4.     author = scrapy.Field() 

在items.py文件中,我們只需要使用scrapy.Field()來進行定義即可,scrapy.Field()是一個字典,總的來說我們可以把該類理解為一個字典。

接著在firstspider.py文件中導入我們的items.py,以及修改item={},如下所示:

  1. from test1.items import Test1Item 
  2. item=Test1Item() 

有人可能會說為什么要多此一舉定義一個字典呢?

當我們在獲取到數據的時候,使用不同的item來存放不同的數據,在把數據交給pipeline的時候,可以通過isinstance(item,Test1Item)來判斷數據屬于哪個item,進行不同的數據(item)處理。

例如我們獲取到京東、淘寶、拼多多的數據時,我們可以items.py文件中定義好對應的字段,具體代碼如下:

  1. import scrapy 
  2. class jingdongItem(scrapy.Item): 
  3.     text= scrapy.Field() 
  4.     author = scrapy.Field() 
  5.  
  6. class taobaoItem(scrapy.Item): 
  7.     text= scrapy.Field() 
  8.     author = scrapy.Field() 
  9.  
  10. class pddItem(scrapy.Item): 
  11.     text= scrapy.Field() 
  12.     author = scrapy.Field() 

定義好字段后,這是我們通過在pipeline.py文件中編寫代碼,對不同的item數據進行區分,具體代碼如下:

  1. from test1.items import jingdongItem 
  2. class Test1Pipeline: 
  3.     def process_item(self, item, spider): 
  4.         if isinstance(item,jingdongItem): 
  5.             print(item) 

首先我們通過導入我們的items.py,通過isinstance()函數來就可以成功獲取到對應的item數據了。

pipelines.py介紹

Item Pipeline為項目管道,當Item生成后,它就會自動被送到Item Pipeline進行處理,我們常用Item Pipeline來做以下操作:

  • 清理HTML數據;
  • 驗證爬取數據,檢測爬取字段;
  • 查看并丟棄重復內容;
  • 將爬取結果保存到數據庫。

pipelines.py內容如下所示:

  1. from itemadapter import ItemAdapter 
  2.  
  3. class Test1Pipeline: 
  4.     def process_item(self, item, spider): 
  5.         return item 

在process_item()方法中,傳入了兩個參數,一個參數是item,每次Spider生成的Item都會作為參數傳遞過來。另一個參數是spider,就是Spider的示例。

完成pipeline代碼后,需要在setting.py中設置開啟,開啟方式很簡單,只要把setting.py內容中的以下代碼的注釋取消即可:

  1. ITEM_PIPELINES = { 
  2.     'test1.pipelines.Test1Pipeline': 300, 

其中:

  • test1.pipelines.Test1Pipeline是pipeline的位置;
  • 300是pipeline的權重。

注意:

  • pipeline的權重越小優先級越高;
  • pipeline中的process_item()方法名不能修改為其他的名稱;
  • pipeline能夠定義多個。

當我們有多個spider爬蟲時,為了滿足不同的spider爬蟲需求,這時可以定義不同的pipeline處理不同的item內容;

當一個spider的內容可能要做不同的操作時,例如存入不同的數據庫中,這時可以定義不同的pipeline處理不同的item操作。

例如當我們有多個spider爬蟲時,可以通過pipeline.py編寫代碼定義多個pipeline,具體代碼如下:

  1. class jingdongPipeline1: 
  2.     def process_item(self, item, spider): 
  3.         if spider.name=="jingdong"
  4.             print(item) 
  5.         return item 
  6. class taobaoPipeline: 
  7.     def process_item(self, item, spider): 
  8.         if spider.name=="taobao"
  9.             print(item) 
  10.         return item 

這樣我們就可以處理到對應的spider爬蟲傳遞過來的數據了。

定義好pipeline后,我們要在settings.py中設置pipeline權重,也就是那個pipeline先運行,具體代碼如下:

  1. ITEM_PIPELINES = { 
  2.    'test1.pipelines.jingdongPipeline': 300, 
  3.    'test1.pipelines.taobaoPipeline': 301, 

數據傳輸到pipeline中

在上面我們已經提取到想要的數據,接下來將數據傳到pipeline中,傳輸很簡單,我們只需要使用yield,代碼如下:

  1. yield item 

沒錯,只要在spider爬蟲中寫入這一行代碼即可,那么為什么要使用yield呢?,我用return不能行嗎?

行,但yield是讓整個函數變成一個生成器,每次遍歷的時候挨個讀到內存中,這樣不會導致內存的占用量瞬間變高。

實現翻頁

我們成功獲取到了一頁數據了,那么問題來了,如何實現翻頁呢,方法有很多種,我們主要介紹兩種。

第一種:使用start_requests()方法

我們通過在spider爬蟲中,也就是我們創建的firstspider.py中添加以下代碼,具體代碼如下:

  1. def start_requests(self): 
  2.     for i in range(1,3): 
  3.         url=f'https://quotes.toscrape.com/page/{i}/' 
  4.         yield scrapy.Request(url=url,callback=self.parse) 

第二種:在parse()方法中實現翻頁

我們可以通過parse()方法中實現翻頁,具體代碼如下:

  1. for i in range(2,3): 
  2.     url = f'https://quotes.toscrape.com/page/{i}/' 
  3.     yield scrapy.Request(url=url,callback=self.parse) 

大家可以發現,上面兩種翻頁方式都差不多,只是一個在start_requests()方法實現,一個在parse()方法實現。

但都要使用scrapy.Request()方法,該方法能構建一個requests,同時指定提取數據的callback函數

  1. scrapy.Requeset(url,callback,method='GET',headers,cookies,meta,dont_filter=False

其中:

  • url:表示爬取的url鏈接;
  • callback:指定傳入的url交給哪個解析函數去處理;
  • headers:請求頭;
  • cookies:用于識別用戶身份、進行回話跟蹤而存儲在用戶本地終端上的數據;
  • meta:實現在不同的解析函數中傳遞數據;
  • dont_filter:讓scrapy的去重不會過濾當前url,scrapy默認有url去重的功能。

保存數據

我們已經獲取到數據而且實現了翻頁,接下來是保存數據。

保存在文件中

當我們要把數據保存成文件的時候,不需要任何額外的代碼,只要執行如下代碼即可:

  1. scrapy crawl spider爬蟲名 -o xxx.json            #保存為JSON文件 
  2. scrapy crawl spider爬蟲名 -o xxx.jl或jsonlines    #每個Item輸出一行json 
  3. scrapy crawl spider爬蟲名 -o xxx.csv          #保存為csv文件 
  4. scrapy crawl spider爬蟲名 -o xxx.xml            #保存為xml文件 

想要保存為什么格式的文件,只要修改后綴就可以了,在這里我就不一一例舉了。

保存MongoDB中

當我們要把數據保存在MongoDB數據庫的時候,就要使用Item Pipeline模塊了,也就是說要在pipeline.py中編寫代碼,具體代碼如下所示:

  1. from pymongo import  MongoClient 
  2. client=MongoClient() 
  3. collection=client["test1"]["firstspider"
  4.  
  5. class Test1Pipeline: 
  6.     def process_item(self, item, spider): 
  7.         collection.insert(item) 
  8.         return item 

首先我們導入MongoClient模塊并實例化MongoClient,創建一個集合,然后在process_item()方法中使用insert()方法把數據插入MongoDB數據庫中。

好了,Scrapy知識就講到這里,下一篇文章小編將帶大家爬取北京新發地價格行情,順便鞏固我們今天學的知識。

總結

大家好,我是霖hero。這篇文章主要給大家分享了Scrapy框架的條條框框,Scrapy是一個基于Twisted的異步處理框架,是純Python實現的爬蟲框架,是提取結構性數據而編寫的應用框架,其架構清晰,模塊之間的耦合程度低,可擴展性極強。

本文轉載自微信公眾號「Python爬蟲與數據挖掘」,可以通過以下二維碼關注。轉載本文請聯系Python爬蟲與數據挖掘公眾號。

 

責任編輯:武曉燕 來源: Python爬蟲與數據挖掘
相關推薦

2021-09-30 09:00:34

Scrapy網絡爬蟲Python

2021-07-03 09:04:22

XPathPython免費代理IP

2021-07-14 09:00:00

JavaFX開發應用

2025-05-07 00:31:30

2018-05-16 13:50:30

Python網絡爬蟲Scrapy

2022-12-07 08:42:35

2021-04-30 09:05:37

爬蟲框架數據

2022-05-26 12:26:27

CSSJS逆向

2021-08-02 07:35:19

Nacos配置中心namespace

2011-05-03 15:59:00

黑盒打印機

2011-01-10 14:41:26

2020-03-08 22:06:16

Python數據IP

2021-01-30 10:37:18

ScrapyGerapy網絡爬蟲

2021-05-08 08:04:05

Python爬取素材

2021-01-19 09:06:21

MysqlDjango數據庫

2021-03-12 10:01:24

JavaScript 前端表單驗證

2021-12-15 08:49:21

gpio 子系統pinctrl 子系統API

2020-05-15 08:07:33

JWT登錄單點

2022-07-22 12:45:39

GNU

2022-10-30 10:31:42

i2ccpuftrace
點贊
收藏

51CTO技術棧公眾號

亚洲永久一区二区三区在线| 国产精品久久激情| 亚洲色偷偷色噜噜狠狠99网| 变态调教一区二区三区| 2020国产精品自拍| 国产在线视频一区| 日产欧产va高清| 欧美日本成人| 日韩午夜av一区| av无码精品一区二区三区| 黄色精品在线观看| 久久综合视频网| 91系列在线观看| 福利网址在线观看| 欧美日韩精品一本二本三本| 亚洲美女av黄| 涩视频在线观看| 国产毛片精品久久| 欧美日韩国产中文精品字幕自在自线| 永久域名在线精品| 西西人体44www大胆无码| 精品一区免费av| 日本久久亚洲电影| 久久综合色综合| 欧美国产一区二区三区激情无套| 亚洲国模精品一区| 一个人看的视频www| 日韩久久一区二区三区| 午夜一区二区三区视频| 日本a级片在线观看| 国产露出视频在线观看| 99久久免费视频.com| 51成人做爰www免费看网站| 黄色av一区二区| 亚洲欧美日本日韩| 高清亚洲成在人网站天堂| www.97视频| 欧美h版在线| 国产亚洲人成网站在线观看| 可以直接看的无码av| 无码国模国产在线观看| 制服丝袜av成人在线看| 手机在线免费观看毛片| 美女100%一区| 日韩欧中文字幕| www黄色日本| 91超碰在线免费| 一区二区三区国产| 亚洲小说欧美另类激情| 在线观看国产原创自拍视频| 国产欧美精品区一区二区三区| 久久精品magnetxturnbtih| 欧美视频在线观看一区二区三区| 国产成人av电影在线| 97国产超碰| 成人午夜免费在线观看| 国产成人精品免费视频网站| av在线不卡一区| 国产 欧美 精品| jiyouzz国产精品久久| 国产在线精品二区| 三级毛片在线免费看| 99精品国产视频| 久久av一区二区三区亚洲| 婷婷丁香花五月天| 久久综合给合久久狠狠狠97色69| 欧美精品尤物在线| 国产视频福利在线| 中文字幕免费观看一区| 亚洲图片在线观看| av毛片在线看| 亚洲电影中文字幕在线观看| 欧美视频在线播放一区| 韩国美女久久| 91精品一区二区三区久久久久久| 国产一级片中文字幕| 999国产精品一区| 精品爽片免费看久久| 性高潮久久久久久久 | 青娱乐一区二区| www.中文字幕久久久| 中文字幕日韩av资源站| 免费视频爱爱太爽了| 秋霞伦理一区| 欧美日韩电影在线播放| 少妇欧美激情一区二区三区| 久久综合社区| 在线视频中文亚洲| 久久久久久福利| 日日夜夜免费精品视频| 91色视频在线观看| 亚洲AV成人无码一二三区在线| 国产清纯在线一区二区www| 成人手机视频在线| 999av小视频在线| 91极品美女在线| 可以看的av网址| 精品产国自在拍| 欧美黄色小视频| 精品黑人一区二区三区| 国产盗摄一区二区三区| 青青草久久网络| 好久没做在线观看| 精品视频在线免费观看| 中文字幕99页| 国产精品精品国产一区二区| 午夜欧美不卡精品aaaaa| 夜夜躁很很躁日日躁麻豆| 成人黄色综合网站| 一区二区三区在线视频看| а√天堂中文资源在线bt| 欧美人与性动xxxx| 一级性生活大片| 欧美精选一区| 国产精品一久久香蕉国产线看观看| 黄色av中文字幕| 中文字幕一区在线| 成人午夜激情av| 少妇久久久久| 国外成人在线直播| 国产美女无遮挡永久免费| 国产日本一区二区| 美女日批免费视频| 中文字幕久久精品一区二区| 综合欧美国产视频二区| 波多野结衣视频网站| 国产不卡视频一区二区三区| 亚洲欧美影院| av免费在线一区| 亚洲精品视频免费| 国产精品第九页| 国产精品亚洲第一区在线暖暖韩国| 亚洲国内在线| 中文.日本.精品| 一区二区三区亚洲| 亚洲av中文无码乱人伦在线视色| 99精品久久只有精品| 我的公把我弄高潮了视频| 精品伊人久久| 欧美成人三级视频网站| 91福利免费视频| 国产精品看片你懂得| www日韩视频| 欧美人妖在线| 国产精品免费一区豆花| 风间由美一区| 欧美色精品天天在线观看视频| 自拍偷拍亚洲天堂| 欧美综合国产| 视频一区亚洲| 日韩毛片一区| 日韩亚洲一区二区| 91丨porny丨在线中文 | 在线观看亚洲视频啊啊啊啊| 欧美aaa大片视频一二区| 国产亚洲欧美视频| 伊人久久国产精品| 国产精品传媒入口麻豆| 亚洲第一色av| 欧美午夜一区二区福利视频| 91手机在线播放| 久久香蕉av| 亚洲精品久久久久中文字幕欢迎你 | 少妇熟女视频一区二区三区 | 成 人 黄 色 片 在线播放| 一区二区三区在线播| 国产女主播在线播放| 亚洲人成毛片在线播放女女| 精品国产一区二区三区麻豆免费观看完整版 | а√中文在线资源库| 亚洲国产日韩在线一区模特| 强迫凌虐淫辱の牝奴在线观看| 国产欧美激情| 亚洲精品不卡| 精品国产亚洲一区二区三区大结局| 久久国产精品久久久| 欧美一级免费片| 色女孩综合影院| 我要看一级黄色录像| 国产精品系列在线播放| 国产乱子伦农村叉叉叉| 欧美日韩激情在线一区二区三区| 亚洲a在线播放| 桃色av一区二区| 色噜噜狠狠狠综合曰曰曰| 国产99对白在线播放| 欧美日韩国产专区| 国产日产在线观看| 成人avav影音| 激情视频免费网站| 狠狠爱www人成狠狠爱综合网| 欧美高清性xxxxhdvideosex| 亚洲高清国产拍精品26u| 久久久久久国产精品| 国产女主播在线写真| 欧美一区三区二区| 亚洲自拍一区在线观看| 亚洲色欲色欲www在线观看| 国产高清成人久久| 久久99最新地址| 欧美日韩激情视频在线观看 | 中文字幕日韩高清| 蜜桃视频在线观看www| 欧美日韩黄色影视| 日韩xxx高潮hd| 国产精品福利电影一区二区三区四区| 亚洲av人人澡人人爽人人夜夜| 免费在线看成人av| 欧美女人性生活视频| 欧美三级第一页| 亚洲一区二区三区精品动漫| 日韩有码中文字幕在线| 亚洲aa中文字幕| 欧美电影在线观看网站| 欧美在线视频一区| 久草在线新免费首页资源站| 日韩最新中文字幕电影免费看| 无码精品人妻一区二区| 日韩欧美成人午夜| 91国偷自产中文字幕久久| 色综合久久中文综合久久97| 男女羞羞免费视频| 国产精品国产三级国产普通话99| 久久精品国产亚洲av麻豆| 高清不卡在线观看| 亚洲av无一区二区三区久久| 毛片一区二区三区| 国产一级做a爰片久久| 久久久人人人| 久久久久久久久久久福利| 亚洲国产一区二区精品专区| 欧洲xxxxx| 午夜精品毛片| 在线免费观看一区二区三区| 黑丝美女一区二区| 日本精品一区二区| 香蕉一区二区| 久久国产精品高清| 日韩精品亚洲aⅴ在线影院| 国产乱码精品一区二区三区卡| 日韩精品一区二区三区中文在线| 成人激情视频小说免费下载| 久久精品97| 国产美女主播一区| 亚洲精品一区av| 成人黄色在线观看| 精品视频在线观看免费观看 | 天天躁日日躁狠狠躁欧美巨大小说 | 久久伊人色综合| dj大片免费在线观看| 欧美成人免费观看| 欧美亚洲天堂| 久久人人爽人人爽人人片av高请 | 人妻av一区二区| 波多野结衣中文字幕一区二区三区 | 狠狠久久伊人中文字幕| 国产精品一区久久久| 91麻豆精品国产综合久久久 | 在线毛片网站| 久久久国产精品亚洲一区| 黄网站在线免费看| 欧美寡妇偷汉性猛交| 黄视频在线免费看| 庆余年2免费日韩剧观看大牛| 成人美女黄网站| 国产一区红桃视频| 一区二区在线视频观看| 精品国产乱码久久久久久郑州公司| 亚洲三级网页| 亚洲精品免费在线看| 亚洲成av人电影| 久青草视频在线播放| 99视频精品| 美女黄色片视频| 国产一区二区三区精品视频| 无码av免费精品一区二区三区| 99re6这里只有精品视频在线观看| 国产又爽又黄无码无遮挡在线观看| 久久久久久一级片| 国产免费一区二区三区四区| 亚洲国产va精品久久久不卡综合| 在线观看亚洲天堂| 欧美日韩成人在线| 天堂av资源在线| 色偷偷av亚洲男人的天堂| 九色91在线| 国产精品电影观看| 中文无码日韩欧| 深夜福利成人| 精品二区视频| 亚洲第一狼人区| av成人免费在线观看| a资源在线观看| 亚洲午夜久久久久中文字幕久| 无码人妻精品一区二区三区不卡 | 超碰caoprom| 国产精品夫妻自拍| 国产a∨精品一区二区三区仙踪林| 欧美日本视频在线| 亚洲日本香蕉视频| 欧美成人激情在线| 成人在线视频观看| 国产麻豆一区二区三区在线观看| 久久福利综合| jizzjizzxxxx| 国产精品一品视频| 成人做爰69片免网站| 精品久久久中文| 国产美女主播在线观看| 亚洲天堂视频在线观看| av中文字幕在线看| 91亚洲精品在线观看| 久久av综合| 欧妇女乱妇女乱视频| 九九视频精品免费| 少妇按摩一区二区三区| 午夜精品久久久久久久久| 国产又粗又猛又爽又黄视频| 亚洲视频在线看| 蜜桃视频在线网站| av免费观看久久| 欧美在线1区| 国产精品自拍视频在线| 久久青草欧美一区二区三区| 国产第一页在线播放| 日韩欧美色电影| 黄色小网站在线观看| 国产精品日韩在线播放| 影视先锋久久| 日韩中文字幕三区| 99久久精品一区二区| 国产污视频在线看| 精品国产免费人成在线观看| 在线看女人毛片| 亚洲综合国产精品| 亚洲情侣在线| 国产毛片久久久久久| 亚洲视频中文字幕| 国产美女无遮挡永久免费| 久久影院中文字幕| 欧美国产亚洲精品| www.国产亚洲| 国产.欧美.日韩| 久久久精品99| 亚洲国产精品va| 伊人成综合网站| 欧美精品一区二区三区四区五区 | 亚洲一二三区不卡| 蜜桃久久一区二区三区| 97国产精品视频人人做人人爱| 国产伦精品一区二区三区在线播放| 欧美性猛交内射兽交老熟妇| 粉嫩嫩av羞羞动漫久久久| 日产精品久久久久| 国产视频精品久久久| 日本电影欧美片| 色姑娘综合av| 国产在线不卡一区| 欧美黑吊大战白妞| 亚洲黄色在线看| 成人私拍视频| 亚洲一区二区在线观| 激情综合色丁香一区二区| 久久久久久久久久久久久女过产乱| 日韩欧美不卡在线观看视频| а_天堂中文在线| 日韩成人av电影在线| 麻豆国产精品官网| 黄色一级视频免费观看| 日韩电影在线观看中文字幕| 色婷婷综合久久久中字幕精品久久 | 亚洲午夜久久久久久久久电影网| 欧美 日韩 国产 精品| 日本韩国欧美精品大片卡二| 日韩精品一区二区三区免费观影| 亚洲一区二区偷拍| 天天色 色综合| 99中文字幕一区| 99国产视频在线| 免费精品视频| 卡通动漫亚洲综合| 亚洲精品久久久一区二区三区 | 亚洲伊人久久综合| 国产视频一区三区| 老司机深夜福利网站| 亚洲成人黄色在线| 嫩草伊人久久精品少妇av杨幂| 青青视频免费在线| 91麻豆福利精品推荐| 国产精品无码久久av| 2018国产精品视频| 91精品动漫在线观看| 国产色视频一区二区三区qq号| 69堂成人精品免费视频| 看黄在线观看| 欧美性受黑人性爽| 国产午夜亚洲精品不卡| 亚洲黄色片视频| 国产欧美日韩免费看aⅴ视频| 亚洲精品女人|