999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Scrapy框架的爬蟲設(shè)計

2020-06-19 08:45:58王海玲周志彬
軟件導(dǎo)刊 2020年4期

王海玲 周志彬

摘 要:利用Python編程語言的Scrapy框架,為貓眼網(wǎng)站設(shè)計一個網(wǎng)絡(luò)爬蟲程序,對貓眼網(wǎng)頁中《復(fù)仇者聯(lián)盟4》的用戶評論進(jìn)行抓取。對抓取下來的網(wǎng)頁信息進(jìn)行信息提取,并將有用信息轉(zhuǎn)換為dataframe格式存儲到csv文件中;再將csv文件中的數(shù)據(jù)通過Pandas庫進(jìn)行提取排列,并利用Pyecharts庫生成可視化圖表的html頁面;最后修改url中的setoff屬性,通過改變starTtime的值,成功獲取了更多評論。結(jié)果表明,比正常獲取評論數(shù)的最大值990條多了16倍。

關(guān)鍵詞:Scrapy框架;爬蟲;數(shù)據(jù)可視化

DOI: 10. 11907/rjdk.191814

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

中圖分類號:TP393

文獻(xiàn)標(biāo)識碼:A

文章編號:1672-7800(2020)004-0224-05

0 引言

隨著大數(shù)據(jù)時代的來臨,普通搜索已無法滿足人們對信息獲取的需求,網(wǎng)絡(luò)爬蟲應(yīng)運而生。網(wǎng)絡(luò)爬蟲又稱網(wǎng)絡(luò)蜘蛛,是一種能夠根據(jù)程序設(shè)計者所設(shè)計的規(guī)則自動抓取特定網(wǎng)頁信息的程序。按照實現(xiàn)原理可分為3類:第一類是通用網(wǎng)絡(luò)爬蟲,指搜索引擎爬蟲,類似于百度、谷歌等大型搜索引擎[1],其特點是根據(jù)一定的策略,用特定的計算機程序,將互聯(lián)網(wǎng)上的信息加以收集并對信息進(jìn)行篩選和排列后展示給用戶,搜索引擎由搜索者、用戶界面、索引器和搜索器4部分組成[2];第二類是聚焦爬蟲,其可以針對特定網(wǎng)頁,也稱為網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機器人,還經(jīng)常被稱為網(wǎng)頁追逐者。它與搜索引擎的區(qū)別在于其針對性強并細(xì)化了搜索內(nèi)容[3];第三類是增量式網(wǎng)絡(luò)爬蟲,是指對已下載網(wǎng)頁采取增量式更新和只爬行新產(chǎn)生的或者已經(jīng)發(fā)生變化網(wǎng)頁的爬蟲,它能夠在一定程度上保證所爬行的頁面是盡可能新的頁面[4]。此外,也涌現(xiàn)了很多成熟的爬蟲框架,如非常流行的Scrapy[5-10]。

但是,傳統(tǒng)爬蟲網(wǎng)絡(luò)獲取頁面較少,無法滿足爬取需求,代碼也比較復(fù)雜。本文通過修改url中的setoff屬性,改變starTtime的值,以貓眼網(wǎng)站為例,通過Scrapy搭建爬蟲項目,分析整個爬蟲原理。一是實現(xiàn)程序在遠(yuǎn)程服務(wù)、手機端的部署;二是通過改變不同的數(shù)據(jù)接口,實現(xiàn)對貓眼網(wǎng)絡(luò)電影《復(fù)仇者聯(lián)盟4》更多評論信息抓取,并對獲取的數(shù)據(jù)進(jìn)行可視化分析。

1 Scrapy框架介紹

Scrapy是由Python開發(fā)人員開發(fā)的一種高速、高級的Web捕獲框架,它被用來抓取網(wǎng)站內(nèi)容并從頁面中提取結(jié)構(gòu)化數(shù)據(jù)。與普通網(wǎng)絡(luò)爬蟲不同的是,基于Scrapy的爬蟲系統(tǒng)抓取的網(wǎng)頁信息需與用戶需求相關(guān),而無需對互聯(lián)網(wǎng)上的所有資源進(jìn)行采集[11-13]。

1.1 框架組成

Scrapy架構(gòu)如圖1所示,其中包含了Engine、ItemPipeline、Downloader、Spider以及Scheduler等幾個組件模塊,圖中箭頭表示數(shù)據(jù)在整個系統(tǒng)中的處理流程[14-15]。

1.2 組件說明

Engine:引擎是觸發(fā)系統(tǒng)工作任務(wù)的框架核心,系統(tǒng)數(shù)據(jù)流處理都由它統(tǒng)一調(diào)度處理的。

調(diào)度器:用來接受引擎?zhèn)鬟_(dá)的請求,并將請求壓入隊列中,在引擎再次請求時返回。可以想像成一個URL的優(yōu)先隊列,它會決定下一個要抓取的網(wǎng)址是什么,并對網(wǎng)址進(jìn)行查重,去除重復(fù)網(wǎng)址。

下載器:下載網(wǎng)頁中所需內(nèi)容,然后將該內(nèi)容返回給爬蟲。

爬蟲:從特定網(wǎng)頁也即實體中抓取所需信息,分析頁面信息,提取下一頁的鏈接進(jìn)行遞歸爬取。

項目管道:負(fù)責(zé)處理爬蟲從網(wǎng)頁中提取的實體,主要功能是對實體進(jìn)行持久化,驗證實體的有效性,清除不必要的信息。當(dāng)爬蟲對頁面進(jìn)行解析時,會將其發(fā)送到項目管道中,并按幾個特定的順序?qū)?shù)據(jù)進(jìn)行處理。管道的執(zhí)行過程具體包括清洗HTML數(shù)據(jù)、驗證解析到的數(shù)據(jù)、檢查是否為重復(fù)數(shù)據(jù),并將解析到的數(shù)據(jù)存儲到數(shù)據(jù)庫中。

爬蟲中間件:位于引擎和爬蟲之間的框架,負(fù)責(zé)處理爬蟲的響應(yīng)及輸出。

下載器中間件:位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應(yīng)[16-18]。

1.3 Spider工作流程

首先解析第一個URL,獲取它的請求,在其返回時檢索回調(diào)函數(shù);之后在回調(diào)函數(shù)中,對解析網(wǎng)頁進(jìn)行響應(yīng),返回項目對象和請求對象的迭代,請求中還將包含一個回調(diào)信息,由Scrapy下載;然后對其進(jìn)行回調(diào)處理,在回調(diào)函數(shù)中,對網(wǎng)站內(nèi)容進(jìn)行解析,使用Xpath選擇器生成解析后的數(shù)據(jù)項;最后,從爬蟲返回的信息通常都進(jìn)入到項目管道中。

1.4 Pandas庫

Pandas模塊是Python用于數(shù)據(jù)導(dǎo)人及整理的模塊,對數(shù)據(jù)挖掘前期數(shù)據(jù)處理十分有用。Pandas庫具有兩種數(shù)據(jù)類型:Series類型和Dataframe類型。本文主要采用Dataframe數(shù)據(jù)類型,Dataframe是一種帶“標(biāo)簽”的二維數(shù)組,基本操作與Series類型相似。

1.5 Pyecharts庫

Pvecharts是Pvthon中用來生成Echarts圖表的類庫,而Echarts是支持?jǐn)?shù)據(jù)可視化的一個JS庫,用Echarts生成的數(shù)據(jù)圖形效果非常好。Pyecharts與Python接口一起,方便在Pvthon中直接使用數(shù)據(jù)生成。使用Pvecharts可以生成單獨的網(wǎng)頁,也可以在Djangoflask中集成和使用。本文主要使用Pyecharts生成獨立的Web顯示圖表。

1.6 Json庫

Json是一種輕量級的數(shù)據(jù)交換格式,其結(jié)構(gòu)簡單、層次清晰,易于編寫和讀取,也可由機器輕松解析生成,達(dá)到提高網(wǎng)絡(luò)傳輸效率的目的。在數(shù)據(jù)交換方法中,它是頗具優(yōu)勢的數(shù)據(jù)交換格式之一。絕大多數(shù)網(wǎng)頁都具有Json格式的數(shù)據(jù)文件,Javascript是Json的主戰(zhàn)場,相比于XML而言,Json自然是更具有優(yōu)勢的數(shù)據(jù)交換格式。此外,JSON和XML還有一個很大區(qū)別,即有效的數(shù)據(jù)速率。JSON作為數(shù)據(jù)包格式傳輸時效率更高,因為JSON不需要像XML這樣嚴(yán)格的封閉標(biāo)簽,與總數(shù)據(jù)包相比,這極大提高了有效數(shù)據(jù)量,從而在數(shù)據(jù)流量相等的情況下降低了網(wǎng)絡(luò)傳輸壓力[19-20]。

Json庫中的Encode函數(shù)在Python中可以有效地轉(zhuǎn)換Python對象和Json對象。尤其在可視化數(shù)據(jù)時,將獲得的數(shù)據(jù)轉(zhuǎn)換成Json對象,可以使數(shù)據(jù)靈活地轉(zhuǎn)換為Pandas庫的數(shù)據(jù)操作對象。

2 Spider模型建立

本文以Scrapy為框架編寫網(wǎng)絡(luò)爬蟲程序,使程序可自動爬取貓眼網(wǎng)的指定信息。在抓取到指定的Json文件地址后,對該地址下的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換及存儲操作,具體步驟如下:

(1)使用Pycharm在Terminal中搭建Scrapy框架,建立“maovan”工作項目。

(2)在item.py文件中創(chuàng)建需要爬取的字段屬性,其中有城市:“city”,評論:“content”,用戶id:“user_id”,昵稱:“nick name”,評分:“score”,評論時間:“time”,用戶等級:“user level”。

(3)在創(chuàng)建的爬蟲主文件comment.py中,將多個用戶代理以數(shù)組的形式定義。

(4)通過指定接口獲取用戶評論地址,并將該地址下的數(shù)據(jù)轉(zhuǎn)換為Json格式。

(5)通過循環(huán)判斷,將篩選出來的數(shù)據(jù)用yieldrequest方法傳送到管道中。

(6)在pipelines.py文件中,將數(shù)據(jù)創(chuàng)建dataframe格式并存儲到csv文件中。

(7)創(chuàng)建data_analysis.py,用Pyecharts庫及Pandas庫的方法對數(shù)據(jù)進(jìn)行可視化處理。3頁面分析

分析頁 url:

m.maoyan.com/m ovie/248172/e omments?_v_=yes

在獲取跳轉(zhuǎn)頁面時選擇xpath對跳轉(zhuǎn)標(biāo)簽進(jìn)行定位,獲取跳轉(zhuǎn)標(biāo)簽下的url。本文使用Chrome開發(fā)者工具,maoyan.com為該網(wǎng)站域名,目標(biāo)url中的“248712”為《復(fù)仇者聯(lián)盟4》在該網(wǎng)站目錄下“movle”目錄中的編號。但是貓眼網(wǎng)在PC端的設(shè)計中未展示所有評論內(nèi)容,而且PC瀏覽器接口在訪問該網(wǎng)頁時被限制,只能獲取到熱門評論,于是調(diào)試為手機端訪問模式如圖2所示,實際操作是模擬手機端的接口訪問貓眼網(wǎng)。

由于貓眼網(wǎng)未設(shè)置接口的反爬取機制,通過模擬手機客戶端( Galaxy S5)的訪問方式,能直接得到貓眼網(wǎng)電影評論信息的Json數(shù)據(jù),這更方便結(jié)果獲取。

4 url構(gòu)造策略

目標(biāo)域名:maoyan.com

目標(biāo)url:

http: //m .maoyan.com/m md b/comments/m ovie/2489 06.json?

_v_ =yes&offset=O&startTime=2019-04-29% 2004: 08:34

正常情況下,如果以offset(每次+15)的方法控制翻頁進(jìn)行數(shù)據(jù)爬取,所獲得的數(shù)據(jù)最大值到990條就不能繼續(xù)獲取了。本文在嘗試多個不同的接口對評論頁面進(jìn)行訪問之后,成功地找到了除setoff外還擁有starttime屬性的接口,通過在url中設(shè)定setoff為0,改變starTtime的值,即將每頁評論中最后一次評論時間作為新的startTime并構(gòu)造新的url壓入隊列進(jìn)行重新訪問、爬取,這樣就可以獲取更多評論,具體構(gòu)造方式如圖3所示。

5“貓眼”爬蟲總體設(shè)計

5.1 定義item.py

本文使用命令行生成maoyan的Scrapy爬蟲項目,同時在該項目目錄下生成Scrapy框架的文件目錄,如圖4所示。

5.2 定義settings.py

在settings.py文件中,將ROBOTSTXT一OBEY屬性改為False,ROBOTSTXT-OBEY是一個機器人協(xié)議,當(dāng)其屬性為True時,它會限制爬蟲文件所能爬取的范圍。由于此次爬取的數(shù)據(jù)內(nèi)容較大,因此將其改為False,并將其定義于pipelinese.py中的規(guī)則激活即可。

5.3 comment.py

comments.py是爬蟲的主文件,爬蟲代碼在此完成。首先在CommentSpider類中定義爬蟲名為comment,用al-lowed_domains將除maoyan.com外的域名進(jìn)行過濾處理,再將多個不同的用戶代理以字典的形式儲存,定義一個變量隨機獲取該字典中的不同用戶代理。定義一個變量cur-rent_time獲取系統(tǒng)當(dāng)前時間,再對目標(biāo)url中的start_Time值進(jìn)行替換,可獲得更多評論數(shù)。

完成上述操作之后,對parse函數(shù)進(jìn)行定義,首先定義item繼承items.py文件中的Maoyanltem(),其次定義data變量用response.body方法保存指定頁面下的數(shù)據(jù),再定義json_data變量保存json格式化過的data值,最后對json_data中的數(shù)據(jù)進(jìn)行循環(huán)判斷,符合條件的數(shù)據(jù)賦值給item進(jìn)入管道。

爬蟲數(shù)據(jù)在csv中存儲部分如表1所示,其中表頭部分包括城市:“city”,評論:“content”,用戶id:“user_id”,昵稱:“nick—name”,評分:“score”,評論時間:“time”,用戶等級:“user_level”。由于表格內(nèi)容較多,具體評論內(nèi)容取其前4個字,截取2019年4月29日時間段。

5.4 替換start_Time

為了爬取所有評論信息,在不改變setoff的條件下,將該頁面最后一條評論的評論時間作為新的開始時間,即將startTime改為:startTime=-+ current_t.replace(‘,%20)的形式,對頁面重新請求,可獲取更多評論數(shù)。

5.5 pipelines.py

將pipelines.py管道中的數(shù)據(jù)與各對應(yīng)數(shù)據(jù)名做一個字典類型存儲在dic t_info,字典每個元素的第1位字符串為生成的csv文件表頭。表頭內(nèi)容有城市:“city”,評論:“content”,用戶id:“user_id”,用戶昵稱:“nike_name”,評分:“score”,評論時間:“time”,用戶等級:“user_level”,再為其建立dataframe的表格形式,最后輸出為csv文件。具體代碼為:

import scrapy

class Maoyanltem( scrapy.ltem):

# define the fields for your item here like:

# name= scrapy.Field()

city= scrapy.Field()#城市

content= scrapy.Field()#評論

user_id= scrapy.Field()#用戶id

nick_name= scrapy.Field()#昵稱

score= scrapy.Field()#評分

time= scrapy.Field()#評論時間

user_level= scrapy.Field()#用戶等級

pipelines.py:

import pandas as pd

class MaoyanPipeline( object):

def process_item( self, item, spider):

dict_info={'city': item[ 'city'],‘contem': item[‘content],'user_id:item[‘user_id],

‘nick_name: item[‘nick_name9],

‘score : item[ 'score' ] , 'time' : item[‘time],'user_level: item[‘user_level']}

try:

data= pd.DataFrame( dict_info, index=[O])#為data創(chuàng)建一個表格形式,注意加index=[0]

data.to_csv ( ‘E:/pytest/maoyan/maoyan/info.csv ,header=False. index=True. mode=‘a(chǎn).

encoding=‘utf_8_sig)#模式:追加,encod-ing=‘utf-8-sig

except Exception as error:

print(‘寫入文件出錯一一一一>>>+str( error))

else:

print(dict_info[‘content]+‘一一一一一一一一一一>>>已經(jīng)寫入文件)

5.6 data_analysis.py

在data_analysis.py中對數(shù)據(jù)進(jìn)行可視化操作,用Py-echarts庫的Render方法生成html文件并保存在制定的目錄之下。首先制作觀眾地域排行榜單,用Pandas庫的Counter.most.common方法獲取city列表中用戶量前20的城市賦值給data_top20,然后用bar對將要生成的圖片格式進(jìn)行定義。

由圖5圖可以看出,評論的用戶觀眾深圳最多,達(dá)703人,第二是廣州660人,第三是北京628人。

制作觀眾評分排行榜單,同樣使用Pandas庫的數(shù)據(jù)操作方法對Dataframe類型的數(shù)據(jù)進(jìn)行操作,再用Pvecharts庫的語法調(diào)用被處理過的數(shù)據(jù)生成最終圖表并由html格式文件展示。如圖6所示,評價為5的用戶觀眾為10 353人,遠(yuǎn)超于其他等級用戶,說明《復(fù)仇者聯(lián)盟4》的觀眾絕大部分都認(rèn)為它是一部值得觀看的好電影。

詞云可以顯示觀眾評論中出現(xiàn)評論最高的詞匯,如圖7所示,評論中出現(xiàn)最多的詞有“好看”“劇情”“鋼鐵”“完美”“精彩”“情懷”“特效”等。由此可以看出,大部分觀眾對《復(fù)仇者聯(lián)盟4》表達(dá)了認(rèn)同和贊美,說明《復(fù)仇者聯(lián)盟4》是一部值得觀看的優(yōu)質(zhì)電影。

6 結(jié)語

本文基于Pvthon的開源Scrapy框架實現(xiàn)貓眼《復(fù)仇者聯(lián)盟》主題爬蟲編寫,在編寫Spider主文件時對URL構(gòu)造設(shè)計進(jìn)行改造,找到最優(yōu)辦法解決爬取數(shù)據(jù)量太少的問題。本文共提取出了有效信息16 664條,比常規(guī)爬取數(shù)據(jù)多出16倍,達(dá)到了預(yù)期爬取數(shù)量和質(zhì)量。此外,通過編寫靈活爬蟲,簡單有效地垂直爬取主題網(wǎng)站,剔除有用信息提取,在存儲和查詢方面都大大提速,并且精度更高,信息使用率增高,減少了能量消耗,并通過可視化分析使得爬取結(jié)果更加直觀;最后利用Scrapy框架,在抓取大量數(shù)據(jù)方面有顯著優(yōu)勢,比普通爬蟲動則上萬的代碼量減少很多,提高了信息利用率。

參考文獻(xiàn):

[1]王巖.搜索引擎中網(wǎng)絡(luò)爬蟲技術(shù)的發(fā)展[J].電信快報,2008( 10):20-22.

[2] 李小正,成功,趙全軍.分布式爬蟲系統(tǒng)的設(shè)計與實現(xiàn)[J].中國科技信息,2012( 15):116-117.

[3] 管華.對當(dāng)今Pvthon快速發(fā)展的研究與展望[J].信息系統(tǒng)工程,2015( 12):114-116.

[4] 孟慶浩,王晶,沈奇威.基于Heritri的增量式爬蟲設(shè)計與實現(xiàn)[J].電信技術(shù),2014(9):97-102.

[5] 趙本本,殷旭東,王偉.基于Scrapy的GitHub數(shù)據(jù)爬蟲[J].電子技術(shù)與軟件工程,2016(6):199-202.

[6] 華云彬,匡芳君.基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲的研究與實現(xiàn)[J].智能計算機與應(yīng)用,2018,8(5):46-50.

[7] 丁忠祥,楊彥紅,杜彥明.基于Scrapy框架影視信息爬取的設(shè)計與實現(xiàn)[J].北京印刷學(xué)院學(xué)報,2018,26(9):92-97.

[8] 王芳,張睿,龔海瑞.基于Scrapy框架的分布式爬取設(shè)計與實現(xiàn)[J].信息技術(shù),2019 (3):96-101.

[9]

KAUSAR M A, DHAJA V S,SINGH S K.Web crawler:a revieW [J].International Journal of Computer Application, 2013, 63(2):31-36.

[10] 劉宇,鄭成煥.基于Scrapy的深層網(wǎng)絡(luò)爬蟲研究[J].軟件,2017,38(7):111-114.

[11] 王磊,劉曉丹.基于Scrapy的網(wǎng)絡(luò)爬蟲系統(tǒng)框架設(shè)計與實現(xiàn)[J].微型電腦應(yīng)用,2018(7):48-50.

[12] 呂俊宏,周江峰.深入解析Cookie技術(shù)[J].數(shù)字通信世界,2015(6):332-333.

[13]姜彬彪,黃凱琳,盧昱江,等.基于Python的專業(yè)網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)[J].企業(yè)科技與發(fā)展,2016(8):17-19.

[14] 安子建.基于Scrapy框架的網(wǎng)絡(luò)爬蟲實現(xiàn)與數(shù)據(jù)抓取分析[D].長春:吉林大學(xué),2017.

[15] 張笑天.分布式爬蟲應(yīng)用中布隆過濾器的研究[D].沈陽:沈陽工業(yè)大學(xué),2017.

[16]

CATTELL R Scalahle SQL and NoSQL data store [J]. ACM SIGMODRecord, 2011(2):12-27.

[17] 劉學(xué).分布式多媒體網(wǎng)絡(luò)爬行系統(tǒng)的設(shè)計與研究[D].武漢:華中科技大學(xué),2012.

[18]李代祎,謝麗艷,錢慎一,等.基于Scrapy分布式爬蟲系統(tǒng)的設(shè)計與實現(xiàn)[J].湖北民族學(xué)院學(xué)報(自然科學(xué)版),2017,35(3): 317-322.

[19] 陶興海.基于Scrapy框架的網(wǎng)絡(luò)爬蟲模擬登陸網(wǎng)站實現(xiàn)[J].計算機與軟件,2017(6):51-51.

[20] 成功,李小正,趙全軍.一種網(wǎng)絡(luò)爬蟲系統(tǒng)中URL去重方法的研究[J].中國新技術(shù)新產(chǎn)品,2014( 12):23.

(責(zé)任編輯:孫娟)

收稿日期:2019-06-04

基金項目:教育部產(chǎn)學(xué)協(xié)同育人項目(JCH2019003,JCH2019023);福建省高校產(chǎn)學(xué)合作項目(2018H6018);福建省教育教學(xué)教改項目( FBJC20170154);福建省產(chǎn)學(xué)研項目(2018H6018);漳州市自然科學(xué)基金項目(222018J26)

作者簡介:王海玲(1982-),女,碩士,廈門大學(xué)嘉庚學(xué)院信息科學(xué)與技術(shù)學(xué)院副教授,研究方向為數(shù)據(jù)挖掘與數(shù)據(jù)分析;周志彬(1996-),男,廈門大學(xué)嘉庚學(xué)院信息科學(xué)與技術(shù)學(xué)院學(xué)生,研究方向為數(shù)據(jù)挖掘。

主站蜘蛛池模板: 57pao国产成视频免费播放| 第一页亚洲| 最新精品国偷自产在线| 亚洲激情99| 亚洲日本www| 亚洲av无码牛牛影视在线二区| 女人18一级毛片免费观看 | 国产精品视频3p| 啦啦啦网站在线观看a毛片| 亚洲欧美日韩中文字幕在线一区| 67194亚洲无码| 97视频精品全国免费观看| 久久一色本道亚洲| 亚洲高清无码久久久| 午夜激情婷婷| 国产成人综合日韩精品无码不卡| 色老头综合网| 看你懂的巨臀中文字幕一区二区| 国产成人高清精品免费| 欧美一区二区人人喊爽| 国产Av无码精品色午夜| 亚洲国产无码有码| 久久国产亚洲欧美日韩精品| 午夜无码一区二区三区| 人妻一区二区三区无码精品一区| 一级毛片免费的| 国产日韩精品欧美一区灰| 亚洲AV无码一二区三区在线播放| 欧美一级在线播放| 欧美区在线播放| 久久精品无码国产一区二区三区| 伊人成色综合网| 狠狠综合久久久久综| 超薄丝袜足j国产在线视频| 成人无码一区二区三区视频在线观看 | 久久久久青草大香线综合精品| 精品小视频在线观看| 欧美激情一区二区三区成人| 久久精品91麻豆| 毛片免费高清免费| 精品一区二区三区视频免费观看| 69国产精品视频免费| 亚洲人在线| 亚洲无线一二三四区男男| 色综合中文| 亚洲无限乱码一二三四区| 亚洲成AV人手机在线观看网站| 1024你懂的国产精品| 亚洲国产成人超福利久久精品| 99久久精品免费看国产电影| 国内丰满少妇猛烈精品播| 日本免费福利视频| 国产男女XX00免费观看| a级毛片免费看| 亚洲免费毛片| 亚洲妓女综合网995久久| 亚洲精品国产乱码不卡| 国产a网站| 国产成年女人特黄特色毛片免| 好吊色妇女免费视频免费| 午夜精品久久久久久久无码软件| 成人免费网站在线观看| 国产在线无码av完整版在线观看| 免费在线视频a| 日韩黄色在线| 国产精品入口麻豆| 国产精品视频999| 久久中文字幕2021精品| 污网站免费在线观看| 91精品福利自产拍在线观看| 国国产a国产片免费麻豆| 国内精品自在欧美一区| 国产精品999在线| 国产成人区在线观看视频| 在线欧美日韩国产| 国产美女丝袜高潮| 日韩a级毛片| 91福利在线观看视频| 欧美亚洲网| 成人噜噜噜视频在线观看| 久久久久夜色精品波多野结衣| 国产成+人+综合+亚洲欧美|