• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Scrapy的分布式網(wǎng)頁及文件爬蟲應(yīng)用的研究

    2020-03-02 01:14:16張捷郝建維李歡歡
    科技創(chuàng)新導(dǎo)報(bào) 2020年21期
    關(guān)鍵詞:爬蟲網(wǎng)頁分布式

    張捷 郝建維 李歡歡

    摘? 要:隨著移動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)以及人工智能時(shí)代的到來,數(shù)據(jù)在整個(gè)互聯(lián)網(wǎng)體系中的地位顯得越來越重要,而數(shù)據(jù)體量的大小對大數(shù)據(jù)的分析以及人工智能的最終學(xué)習(xí)成果也有著深刻影響。但是目前的現(xiàn)狀是,全世界范圍內(nèi)的大多數(shù)企業(yè)都深陷數(shù)據(jù)不完善或者數(shù)據(jù)體量太小的窘境,尤其對新創(chuàng)企業(yè)和小微型企業(yè)來說,這個(gè)已經(jīng)成為了它們生存和發(fā)展的桎梏。因此,能夠從無時(shí)無刻抓取大量數(shù)據(jù)的爬蟲就顯得尤為必要,故而我們深入地研究網(wǎng)絡(luò)爬蟲是非常有必要的。本文將會(huì)通過基于twisted的異步爬蟲框架Scrapy,對網(wǎng)絡(luò)爬蟲進(jìn)行研究,并實(shí)現(xiàn)抓取互聯(lián)網(wǎng)頁數(shù)據(jù)以及文件文本數(shù)據(jù)的分布式策略。

    關(guān)鍵詞:Scrapy? Python? 爬蟲? 分布式? 文件? 網(wǎng)頁

    中圖分類號:TP391.3 ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2020)07(c)-0149-05

    Abstract: With the advent of the mobile Internet, big data and artificial intelligence era, the status of data in the entire Internet system is becoming more and more important, and the amount of data has a profound impact on the analysis of big data and the final learning results of artificial intelligence. However, the current status quo is that most companies around the world are deeply mired in data imperfections or too small data volume, especially for new ventures and small and micro enterprises, which have become their survival and development. Therefore, it is especially necessary to be able to crawl large amounts of data from time to time, so it is very necessary for us to study web crawlers in depth. This article will explore the layer web crawler through the twisted asynchronous crawler framework Scrapy, and implement the strategy of crawling Internet page data and file text data.

    Key Words: Scrapy;Python;Crawler;Distributed;File;WebPage

    1? 引言

    隨著互聯(lián)網(wǎng)在人類經(jīng)濟(jì)社會(huì)中的應(yīng)用日益廣泛,其所涵蓋的信息規(guī)模呈指數(shù)增長,信息的形式和分布具有多樣化、全球化特征。專業(yè)化的信息獲取和加工需求,正面臨著巨大的挑戰(zhàn)。如何獲取互聯(lián)網(wǎng)中的有效信息?這就促進(jìn)了“爬蟲”技術(shù)的飛速發(fā)展。

    傳統(tǒng)的爬蟲對于網(wǎng)頁內(nèi)容信息的關(guān)注遠(yuǎn)遠(yuǎn)大于其他形式的存儲的信息。然而,互聯(lián)網(wǎng)作為人類巨大的數(shù)據(jù)寶庫,并不僅僅只存有網(wǎng)頁內(nèi)容信息,還存在極其龐大的各種各樣格式的文件信息。

    本文將以Scrapy為框架,對以文件和網(wǎng)頁進(jìn)行抓取并進(jìn)行內(nèi)容解析的分布式爬蟲進(jìn)行研究和設(shè)計(jì)。

    2? 網(wǎng)絡(luò)爬蟲

    網(wǎng)絡(luò)爬蟲,是一種按照一定的規(guī)則,自動(dòng)地抓取互聯(lián)網(wǎng)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲一般從一個(gè)url開始,通過獲取網(wǎng)頁內(nèi)容,并識別網(wǎng)頁上的其它url,放入url隊(duì)列中,再不斷地從隊(duì)列中獲取url重復(fù)上述過程,直至url集合為空。

    對于爬蟲的分類,我們可以從爬蟲面向的對象和url入隊(duì)方式的不同,分為以下四種。

    (1)通用網(wǎng)絡(luò)爬蟲,又稱為全網(wǎng)爬蟲,一般搜索引擎采用這種類別的爬蟲。通用爬蟲可以以一定數(shù)量的種子url開始,對整個(gè)互聯(lián)網(wǎng)的網(wǎng)絡(luò)信息進(jìn)行采集,供搜索引擎使用。這類爬蟲的爬取范圍和數(shù)量巨大,對速度和存儲有著很高的要求。基于這兩點(diǎn)要求,通用爬蟲一般會(huì)采取一定的策略,常見策略有:廣度優(yōu)先策略和深度優(yōu)先策略。

    ①廣度優(yōu)先策略:其基本原理是按照深度由小到大的順序,依次訪問url,直到?jīng)]有url可以訪問為止。爬蟲在訪問一條分支后返回到最后url的上一級搜索其它url,直至所有的url訪問完畢。這種策略一般使用于垂直搜索。

    ②深度優(yōu)先策略:這種策略將所有url劃分為多層,當(dāng)同一層的鏈接訪問完畢后才深入到下層鏈接進(jìn)行訪問,直到所有的鏈接訪問完畢。這種策略對爬蟲訪問的深度能夠很好控制,防止爬蟲進(jìn)入過深的分支。

    (2)聚焦網(wǎng)絡(luò)爬蟲,又叫定向爬蟲,是指有選擇性地爬取指定內(nèi)容或特定鏈接的網(wǎng)絡(luò)爬蟲。聚焦網(wǎng)絡(luò)爬蟲引入了評分模塊,針對網(wǎng)頁內(nèi)容或鏈接信息對其進(jìn)行評分,不同的評分,訪問的優(yōu)先級也不同。

    (3)增量式網(wǎng)絡(luò)爬蟲是指只爬取新產(chǎn)生的或發(fā)生內(nèi)容改變的網(wǎng)頁的爬蟲,對已經(jīng)爬取的并且沒有內(nèi)容變化的網(wǎng)頁不進(jìn)行采集。

    (4)深層網(wǎng)絡(luò)爬蟲一般是指爬取深層網(wǎng)絡(luò)頁面的網(wǎng)絡(luò)爬蟲。深層網(wǎng)絡(luò)頁面是相對于能夠任意訪問的表層網(wǎng)絡(luò)頁面而言的,一般類似于用戶需要登錄或需要提交關(guān)鍵字才能訪問的頁面,我們就稱之為深層網(wǎng)絡(luò)頁面。

    3? Scrapy原理介紹

    Scrapy是Python開發(fā)的一個(gè)以twisted異步網(wǎng)絡(luò)通信為核心的網(wǎng)絡(luò)爬蟲框架。因?yàn)槠潇`活性和易擴(kuò)展性讓Scrapy廣為人們使用,且用途非常廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動(dòng)化測試等。

    Scrapy的總體架構(gòu)可以分為以下部分:

    (1)引擎(Engine),主要負(fù)責(zé)Spider、Downloader、Itempiplien以及Scheduler之間通信,信號和數(shù)據(jù)傳遞。

    (2)調(diào)度器(Scheduler),接收Engine傳遞過來的Request請求,將請求整理,入隊(duì),并且在Engine需要Request的時(shí)候,將Request傳遞給Engine。

    (3)下載器(Downloader),下載Engine推送的Request,并將下載好的Response返回給Engine。

    (4)爬蟲(Spiders),接收Engine推送的Response,解析Reponse內(nèi)容,并根據(jù)內(nèi)容獲取Item需要的數(shù)據(jù),并且提取頁面相關(guān)鏈接,重新生成Request推送給Engine,由Engine交由Scheduler。

    (5)項(xiàng)目管道(Pipeline),負(fù)責(zé)處理爬蟲從網(wǎng)頁中抽取的實(shí)體,并對實(shí)體進(jìn)行業(yè)務(wù)操作。

    (6)下載器中間件(Downloader Middewares),介于Engine和Downloader之間,主要處理兩者之間的請求和響應(yīng)。

    (7)爬蟲中間件(Spiders Middewares),介于Engine和Spider之間,主要工作是處理Spider的響應(yīng)輸入和請求輸出。

    (8)調(diào)度器中間件(Scheduler Middewares),介于Scrapy引擎和調(diào)度之間的中間件,處理從Scrapy引擎發(fā)送到調(diào)度的請求和響應(yīng)。

    5種核心組件極其中間鍵通過異步網(wǎng)絡(luò)進(jìn)行通信,各自完成自己的功能而不依賴于其他組件的裝填。正是這種通過異步網(wǎng)絡(luò)通信的低耦合架構(gòu),讓Scrapy在解析url,下載內(nèi)容,實(shí)體處理上有著非常高的效率。

    4? 分布式網(wǎng)頁及文件爬蟲解決方案

    雖然異步網(wǎng)絡(luò)通信架構(gòu)使Scrapy能在短時(shí)間訪問大量的鏈接,但是相較于互聯(lián)網(wǎng)龐大的數(shù)據(jù)體量而言,還是顯得力不從心。于是我們考慮設(shè)計(jì)分布式的爬蟲架構(gòu)來滿足現(xiàn)在的互聯(lián)網(wǎng)的需求。

    我們可以使用Scrapy-Redis組件來擴(kuò)展Scrapy,Scrapy-Redis 是為了更方便地實(shí)現(xiàn) Scrapy 分布式爬取而提供的一些以 Redis 為基礎(chǔ)的組件。然而Scrapy-Redis對Redis去重隊(duì)列的策略仍存在著一些弊端,導(dǎo)致隊(duì)列無限地增長。如何優(yōu)化Scrapy-Redis,并實(shí)現(xiàn)網(wǎng)頁和文件的爬取將是接下來的主要內(nèi)容。

    4.1 Scrapy-Redis的去重優(yōu)化

    Scrapy去重在配置文件中去重是默認(rèn)開啟, 主要通過RFPDupeFilter類進(jìn)行去重,通過查看RFPDupeFilter類源碼,可看到去重的核心是request_seen方法,其代碼如下:

    def request_seen(self, request)

    fp = request_fingerprint(request)

    added = self.server.sadd(self.key, fp)

    return not added

    其中request_fingerprint方法對requset進(jìn)行sha1加密,將加密過后的密文存儲到Redis的dupefilter去重隊(duì)列中,當(dāng)Spider之后每次獲取網(wǎng)頁上連接生成request后,再一次通過requset進(jìn)行加密,并與dupefilter隊(duì)列中的數(shù)據(jù)進(jìn)行比較,如果發(fā)現(xiàn)有重復(fù)數(shù)據(jù),則當(dāng)前request不進(jìn)入Scheduler的url隊(duì)列中。然而,dupefilter隊(duì)列會(huì)隨著訪問的鏈接增長而持續(xù)增長,這樣就會(huì)消耗大量的內(nèi)存資源和比較request的時(shí)間資源。

    Bloom filter 是由 Howard Bloom 在1970年提出的二進(jìn)制向量數(shù)據(jù)結(jié)構(gòu),它具有很好的空間和時(shí)間效率,被用來檢測一個(gè)元素是不是集合中的一個(gè)成員。如果檢測結(jié)果為是,該元素不一定在集合中;但如果檢測結(jié)果為否,該元素一定不在集合中。因此Bloom filter具有100%的召回率。利用Bloolm的特性,我們可以優(yōu)化scrapy的去重隊(duì)列。

    通過重寫request_seen()方法,使用Redis的Bloolm類對入隊(duì)過程進(jìn)行改寫,Bloolm filter的特性快速的判斷request是否存在,如果存在,則不將request放入url隊(duì)列。通過重寫后代碼如下:

    def request_seen(self, request):

    fp = request_fingerprint(request)

    if self.bf.isContains(fp):? ? # 如果已經(jīng)存在

    return True

    else:

    self.bf.insert(fp)

    return False

    至此,我們通過Bloolm filter改寫后的去重組件,能夠極大地提升我們的去重效率和內(nèi)存資源。

    4.2 網(wǎng)頁和文件的策略

    4.2.1 網(wǎng)頁爬蟲策略

    Scrapy爬取數(shù)據(jù)過程可以分為定義實(shí)體(Item)、抽取內(nèi)容(Spider),存儲實(shí)體(Pipeline)三個(gè)部分,通過這三個(gè)部分,能夠快速地實(shí)現(xiàn)一個(gè)網(wǎng)頁爬蟲,這也是Scrapy框架流行的重要原因。

    (1)Item是保存爬取到的數(shù)據(jù)容器,使用方法和Python字典類似。根據(jù)從網(wǎng)頁上獲取到的數(shù)據(jù)對Item進(jìn)行統(tǒng)一建模。從而在Item中定義相應(yīng)的字段field。示例代碼如下:

    class CrawlerItem(scrapy.Item):

    #標(biāo)題

    title = scrapy.Field();

    #內(nèi)容

    content = scrapy.Field();

    #鏈接

    hrefs = scrapy.Field();

    #url

    url = scrapy.Field();

    (2)Sprider的parse方法是抽取內(nèi)容的主要方法,Spider類必須繼承scrapy-redis. spiders.RedisSpider類以實(shí)現(xiàn)分布式采集,Spider采集過程是,首先從Redis的start_url中讀取種子url,由Download下載返回response,Engine會(huì)將response傳遞給spider的parse方法,由parse方法對reponse進(jìn)行處理,并返回request生成器和item生成器。抽取頁面內(nèi)容時(shí),可以使用xpath模塊。Scrapy內(nèi)置對xpath支持,能夠快速地提取頁面內(nèi)容。代碼如下:

    def parse(self, response):

    url = response.url;

    item = CrawlerItem();

    item['title'] = response.xpath(

    '//head/title/text()').extract();

    item['content'] =self._get_content(

    response.body.decode(response.encoding))

    item['url'] = response.url;

    item['hrefs'] = self._get_href(response);

    yield item;

    for href in item['hrefs']:

    yield Request(url= href,

    callback=self.parse);

    (3)Pipeline是數(shù)據(jù)存儲的管道,parse提取的Item由Enginec傳遞給Pipeline,調(diào)用Pipeline的process_item方法對Item進(jìn)行存儲操作,示例如下:。

    def process_item(self, item, spider);

    #處理數(shù)據(jù)

    logger.info(item['url']+'? has crawled');

    通過這三個(gè)部分的簡單實(shí)現(xiàn),一個(gè)能夠爬取網(wǎng)頁的標(biāo)題,內(nèi)容,頁面鏈接以及當(dāng)前頁面的通用型網(wǎng)頁爬蟲產(chǎn)生了。常見的互聯(lián)網(wǎng)頁面就可以通過該爬蟲進(jìn)行采集。

    4.2.2 文件爬蟲策略

    文件爬蟲的策略整個(gè)流程與與網(wǎng)頁爬蟲的策略相似,而且Scrapy支持FTP形式的文件爬蟲,但是Scrapy的FTP并不能對整個(gè)文件節(jié)點(diǎn)的文件進(jìn)行下載,只能手動(dòng)地推送文件的url,對該url的單個(gè)文件進(jìn)行下載。而我們希望通過配置FTP的根節(jié)點(diǎn),來采集整個(gè)FTP節(jié)點(diǎn)的所有文件,并解析文件內(nèi)容。我們對原Scrapy的FTP爬蟲框架進(jìn)行優(yōu)化,以支持FTP節(jié)點(diǎn)的整體下載。

    Scrapy主要通過FTPDownloadHandler類對文件進(jìn)行下載,該類中由download_request方法生成FTP連接生成器對象,gotClient方法通過生成器對象來獲取FTP的客戶端,并通過_build_response私有方法下載文件,如果文件出現(xiàn)錯(cuò)誤,則由_failed方法返回錯(cuò)誤內(nèi)容。

    gotClient方法只能下載文件,如果url為文件夾路徑,則會(huì)返回錯(cuò)誤信息。gotClient源碼如下:

    def gotClient(self, client, request, filepath):

    self.client = client

    protocol = ReceivedDataProtocol

    (request.meta.get("ftp_local_filename"))

    return client.retrieveFile(filepath, protocol)

    .addCallbacks(callback=self._build_response,

    callbackArgs=(request, protocol),

    errback=self._failed,

    errbackArgs=(request,))

    通過集成FTPDownloadHandler類,重寫gotClient方法,我們可以實(shí)現(xiàn)當(dāng)url為文件夾路徑時(shí),獲取該路徑下的文件名,并將文件名放入response中返回,交由spider處理,當(dāng)url為文件路徑時(shí),下載文件,返回response。另外,通過對response.meta.file_type進(jìn)行設(shè)置,當(dāng)url為文件夾時(shí)設(shè)置為dir,為文件時(shí)設(shè)置為file來判別url的類型。實(shí)現(xiàn)代碼如下:

    def gotClient(self, client, request, filepath):

    self.client = client

    protocol = ReceivedDataProtocol(request.meta.get("ftp_local_filename"))

    if (not 'file_type' in request.meta) or ('dir' in request.meta['file_type']):

    return client.list(filepath, protocol)\

    .addCallbacks(callback=self._build_response,

    callbackArgs=(request, protocol),

    errback=self._failed,

    errbackArgs=(request,))

    else:

    return client.retrieveFile(filepath, protocol)\

    .addCallbacks(callback=self._build_response,

    callbackArgs=(request, protocol),

    errback=self._failed,

    errbackArgs=(request,))

    Spider獲取到reponse后,判斷response.meta.file_type,如果為dir,則解析reponse的文件名,并生成相應(yīng)的url,包裝成Request放入Scheduler的url隊(duì)列;如果為file,則抽取相應(yīng)內(nèi)容,存儲實(shí)體。spider代碼如下:

    def parse(self, response):

    item = CrawlerItem();

    url = response.url;

    ftp_user = response.meta['ftp_user'];

    ftp_password = response.meta['ftp_password'];

    #當(dāng)文件為文件夾或者file_type 為None時(shí),獲取當(dāng)前文件夾下的所有文檔及文件夾

    if (not 'file_type' in response.meta) or ('dir' in response.meta['file_type']):

    content = response.body.decode('latin-1')

    line = content.split('\r\n');

    re_fileName = re.compile('[^\s]+', re.I)

    for files in line:

    #判斷目錄

    #通過空格分隔信息

    infos = re_fileName.findall(files);

    if not infos:

    continue;

    file_name = infos[-1];

    if '

    ' in files:

    req = Request( url = url+'/'+file_name,meta={'file_type':'dir','ftp_user':ftp_user,'ftp_password':ftp_password},callback=self.parse,dont_filter=True);

    else:

    req = Request( url = url+'/'+file_name,meta={'file_type':'file','ftp_user':ftp_user,'ftp_password':ftp_password},callback=self.parse);

    yield req;

    logger.debug(response.body.decode('gbk')+' has puted in quee');

    else:

    util = FileUtil();

    file_name = url.split('/')[-1];

    item['content'] =util.get_content(file_name,response.body);

    url = parse.unquote(url);

    title = url.split('/')[-1];

    item['title'] = title.encode(encoding='latin-1').decode('gbk');

    item['url'] = url;

    yield item;

    至此,一個(gè)FTP節(jié)點(diǎn)爬蟲就實(shí)現(xiàn)了,我們可以通過配置根節(jié)點(diǎn)url到start_url隊(duì)列中,來采集整個(gè)FTP節(jié)點(diǎn)的文件內(nèi)容。

    5? 結(jié)語

    Scrapy雖然有著擴(kuò)展性好。易于開發(fā)的特點(diǎn),但是單節(jié)點(diǎn)的爬取方式已經(jīng)不能適應(yīng)信息指數(shù)式增長大數(shù)據(jù)時(shí)代,而集成了scrapy-redis組件的Scrapy雖然能夠分布式部署,但是內(nèi)存會(huì)持續(xù)消耗,并且速度也會(huì)逐漸降低。

    優(yōu)化后的scrapy-redis,大大降低了內(nèi)存使用量,在速度上也有所提升。另外,文件節(jié)點(diǎn)整體爬取的問題也得到了有效的解決,能夠滿足現(xiàn)有互聯(lián)網(wǎng)信息爬取的大部分需求。

    參考文獻(xiàn)

    [1] 李光敏,李平,汪聰.基于Scrapy的分布式數(shù)據(jù)采集與分析——以知乎話題為例[J].湖北師范大學(xué)學(xué)報(bào):自然科學(xué)版,2019,39(3):1-7.

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

    [3] 陶興海.基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2017(11):23.

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

    [5] 舒德華.基于Scrapy爬取電商平臺數(shù)據(jù)及自動(dòng)問答系統(tǒng)的構(gòu)建[D].武漢:華中師范大學(xué),2016.

    [6] 樊宇豪.基于Scrapy的分布式網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2018.

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

    [8] 張靖宇,梁久禎.中文網(wǎng)頁分布式并行索引的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(15):127-128,191.

    猜你喜歡
    爬蟲網(wǎng)頁分布式
    利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
    基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
    基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
    電子制作(2018年10期)2018-08-04 03:24:38
    利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
    電子測試(2018年1期)2018-04-18 11:53:04
    分布式光伏熱錢洶涌
    能源(2017年10期)2017-12-20 05:54:07
    分布式光伏:爆發(fā)還是徘徊
    能源(2017年5期)2017-07-06 09:25:54
    基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
    電子制作(2017年2期)2017-05-17 03:54:56
    大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
    電子制作(2017年9期)2017-04-17 03:00:46
    網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
    電子測試(2015年18期)2016-01-14 01:22:58
    基于DDS的分布式三維協(xié)同仿真研究
    日本撒尿小便嘘嘘汇集6| 一个人看的www免费观看视频| 亚洲人与动物交配视频| 嫩草影院新地址| av在线天堂中文字幕| 九九热线精品视视频播放| 亚洲18禁久久av| 最好的美女福利视频网| 亚洲 国产 在线| 一区二区三区高清视频在线| av在线蜜桃| 韩国av在线不卡| 可以在线观看的亚洲视频| 99久久无色码亚洲精品果冻| 国产一区二区三区在线臀色熟女| 此物有八面人人有两片| 欧美日韩综合久久久久久 | 日韩精品中文字幕看吧| 午夜免费男女啪啪视频观看 | 亚洲av不卡在线观看| 精品无人区乱码1区二区| 国产淫片久久久久久久久| 精品久久久久久久末码| 国内毛片毛片毛片毛片毛片| 国产成人福利小说| 精品乱码久久久久久99久播| 精品久久久久久,| 国产一区二区在线观看日韩| 成人特级黄色片久久久久久久| 免费看光身美女| 亚洲性久久影院| a级一级毛片免费在线观看| 中文字幕人妻熟人妻熟丝袜美| 老司机福利观看| 很黄的视频免费| 亚洲欧美清纯卡通| 精品免费久久久久久久清纯| 亚洲狠狠婷婷综合久久图片| 亚洲熟妇中文字幕五十中出| 国产私拍福利视频在线观看| 国产69精品久久久久777片| 给我免费播放毛片高清在线观看| 久久久久国内视频| a在线观看视频网站| 中亚洲国语对白在线视频| 制服丝袜大香蕉在线| 美女xxoo啪啪120秒动态图| 亚洲最大成人av| 国产欧美日韩精品亚洲av| 日韩精品有码人妻一区| 亚洲国产精品sss在线观看| 国产爱豆传媒在线观看| 国语自产精品视频在线第100页| 久久精品国产亚洲av涩爱 | 精品久久久久久久久亚洲 | 好男人在线观看高清免费视频| 欧美黑人巨大hd| 欧美激情在线99| 岛国在线免费视频观看| 欧美性猛交╳xxx乱大交人| 国产精品日韩av在线免费观看| 久久久久久久久大av| 五月伊人婷婷丁香| 婷婷色综合大香蕉| av国产免费在线观看| 精品久久久久久久久亚洲 | 51国产日韩欧美| 麻豆国产av国片精品| www.www免费av| 一个人观看的视频www高清免费观看| 91久久精品国产一区二区三区| 偷拍熟女少妇极品色| 亚洲国产欧美人成| 91久久精品国产一区二区三区| 国国产精品蜜臀av免费| 免费高清视频大片| 波多野结衣高清作品| 国产精品国产三级国产av玫瑰| 国产 一区精品| 91午夜精品亚洲一区二区三区 | 亚洲自偷自拍三级| 97碰自拍视频| 亚洲美女黄片视频| 国产 一区精品| 在线观看一区二区三区| 欧美bdsm另类| 国产伦精品一区二区三区视频9| 久久99热这里只有精品18| 亚洲一级一片aⅴ在线观看| 久久99热这里只有精品18| 黄色女人牲交| 亚洲av美国av| 国产一区二区亚洲精品在线观看| 色哟哟·www| 我要看日韩黄色一级片| 久久久久久久午夜电影| 淫秽高清视频在线观看| 极品教师在线免费播放| 国产一区二区激情短视频| 亚洲无线在线观看| 色综合站精品国产| 日本a在线网址| 亚洲aⅴ乱码一区二区在线播放| 免费观看人在逋| 亚洲精华国产精华精| 国模一区二区三区四区视频| 好男人在线观看高清免费视频| 国产美女午夜福利| 热99re8久久精品国产| 精品99又大又爽又粗少妇毛片 | 91av网一区二区| 国产精品av视频在线免费观看| 99久久中文字幕三级久久日本| 国产精品三级大全| 我要搜黄色片| 色精品久久人妻99蜜桃| 亚洲国产色片| 一卡2卡三卡四卡精品乱码亚洲| 99久久成人亚洲精品观看| 免费观看精品视频网站| 伦精品一区二区三区| 波野结衣二区三区在线| 成人特级黄色片久久久久久久| 深夜a级毛片| 国产精品无大码| 国产精品无大码| 国产精品,欧美在线| 亚洲熟妇中文字幕五十中出| 搡老妇女老女人老熟妇| 嫩草影院入口| 久99久视频精品免费| 韩国av在线不卡| 男女视频在线观看网站免费| 性插视频无遮挡在线免费观看| 国产探花极品一区二区| 韩国av在线不卡| 男人狂女人下面高潮的视频| 精品久久久噜噜| 欧美+日韩+精品| 精品不卡国产一区二区三区| 日韩欧美 国产精品| 免费看a级黄色片| 日日撸夜夜添| 少妇的逼好多水| 免费观看人在逋| 中国美女看黄片| 非洲黑人性xxxx精品又粗又长| 亚洲avbb在线观看| 欧美一级a爱片免费观看看| 亚洲国产日韩欧美精品在线观看| 国产乱人伦免费视频| 我的老师免费观看完整版| 97人妻精品一区二区三区麻豆| 日韩精品有码人妻一区| 麻豆国产av国片精品| 熟女人妻精品中文字幕| 中文字幕免费在线视频6| 亚洲国产精品久久男人天堂| 国内精品久久久久精免费| 伊人久久精品亚洲午夜| 又紧又爽又黄一区二区| 欧美又色又爽又黄视频| 欧美bdsm另类| 波多野结衣高清作品| 亚洲aⅴ乱码一区二区在线播放| 给我免费播放毛片高清在线观看| 97超级碰碰碰精品色视频在线观看| 亚洲不卡免费看| 国产综合懂色| 亚洲中文日韩欧美视频| 看黄色毛片网站| 成人精品一区二区免费| 亚洲国产精品合色在线| 又紧又爽又黄一区二区| 久久精品人妻少妇| 美女免费视频网站| 国产精品人妻久久久影院| 国产伦人伦偷精品视频| 午夜福利视频1000在线观看| 亚洲欧美激情综合另类| 99热这里只有精品一区| 亚洲在线自拍视频| 国产乱人伦免费视频| 国产女主播在线喷水免费视频网站 | 色吧在线观看| 日韩欧美精品v在线| 亚洲成人中文字幕在线播放| 美女黄网站色视频| 舔av片在线| 亚洲自偷自拍三级| 天堂影院成人在线观看| 免费看光身美女| 成年人黄色毛片网站| 久久久久久九九精品二区国产| 亚洲av二区三区四区| 国产伦在线观看视频一区| 午夜精品一区二区三区免费看| 观看免费一级毛片| 亚洲中文日韩欧美视频| 小说图片视频综合网站| 人人妻,人人澡人人爽秒播| 精品国产三级普通话版| 久久人人爽人人爽人人片va| 露出奶头的视频| 欧美黑人巨大hd| 人妻少妇偷人精品九色| 日韩欧美在线二视频| 看黄色毛片网站| 女同久久另类99精品国产91| 精品一区二区三区人妻视频| 亚洲自拍偷在线| 国产免费av片在线观看野外av| 舔av片在线| av女优亚洲男人天堂| 欧美成人免费av一区二区三区| 久久久久久久亚洲中文字幕| 不卡视频在线观看欧美| 国产精品亚洲一级av第二区| 男人舔女人下体高潮全视频| 亚洲最大成人av| 国产欧美日韩一区二区精品| 欧美成人免费av一区二区三区| 天堂av国产一区二区熟女人妻| 99久久九九国产精品国产免费| 欧美一区二区精品小视频在线| eeuss影院久久| 亚洲国产欧美人成| 国产精华一区二区三区| 久久久国产成人免费| 国产视频内射| 中文字幕久久专区| 在线观看免费视频日本深夜| 国产真实伦视频高清在线观看 | 国产视频内射| 国产aⅴ精品一区二区三区波| 91狼人影院| 国产毛片a区久久久久| 在线观看66精品国产| 国产三级在线视频| 免费不卡的大黄色大毛片视频在线观看 | 久久久久久久精品吃奶| 国产美女午夜福利| 亚洲久久久久久中文字幕| 国产精品人妻久久久久久| 女同久久另类99精品国产91| 一级a爱片免费观看的视频| 亚洲国产欧美人成| 日韩亚洲欧美综合| 日本撒尿小便嘘嘘汇集6| 亚洲人成网站高清观看| 欧美+日韩+精品| 国产极品精品免费视频能看的| 97碰自拍视频| 99久久中文字幕三级久久日本| 亚洲18禁久久av| 色哟哟·www| 最近在线观看免费完整版| 国内久久婷婷六月综合欲色啪| 人人妻人人看人人澡| 免费av不卡在线播放| 国产爱豆传媒在线观看| 久久亚洲精品不卡| 琪琪午夜伦伦电影理论片6080| 日本 欧美在线| 美女高潮的动态| 可以在线观看毛片的网站| 亚洲专区国产一区二区| 婷婷色综合大香蕉| 一级毛片久久久久久久久女| 精品一区二区三区视频在线| 国产精品永久免费网站| 韩国av一区二区三区四区| 精品不卡国产一区二区三区| 日日啪夜夜撸| 美女高潮喷水抽搐中文字幕| 欧美性感艳星| 一本一本综合久久| 夜夜夜夜夜久久久久| 亚洲第一电影网av| 看黄色毛片网站| 亚洲成人免费电影在线观看| 精品久久久久久,| 国产精品爽爽va在线观看网站| 国产精品一区www在线观看 | 大型黄色视频在线免费观看| 国产蜜桃级精品一区二区三区| 欧美性猛交黑人性爽| 日韩欧美免费精品| 亚洲欧美日韩高清专用| 观看免费一级毛片| 少妇的逼水好多| 悠悠久久av| 亚洲av免费在线观看| 亚洲精品影视一区二区三区av| 成年女人毛片免费观看观看9| 韩国av一区二区三区四区| 一进一出抽搐gif免费好疼| 亚洲av免费在线观看| 亚洲av免费高清在线观看| 国内久久婷婷六月综合欲色啪| 欧美激情国产日韩精品一区| 日本-黄色视频高清免费观看| 草草在线视频免费看| 欧美一区二区亚洲| 成年人黄色毛片网站| 亚洲av成人精品一区久久| 国语自产精品视频在线第100页| 美女免费视频网站| 九九热线精品视视频播放| 国模一区二区三区四区视频| 亚洲男人的天堂狠狠| 国产亚洲精品综合一区在线观看| 精品一区二区三区人妻视频| 国产蜜桃级精品一区二区三区| 乱人视频在线观看| 国产成人aa在线观看| 日韩欧美在线二视频| 午夜日韩欧美国产| 精品一区二区三区人妻视频| 日日撸夜夜添| 欧美在线一区亚洲| 亚洲精品456在线播放app | 成人国产综合亚洲| 精品一区二区三区视频在线观看免费| 婷婷六月久久综合丁香| 午夜免费激情av| 九色国产91popny在线| 成人av一区二区三区在线看| 亚洲无线在线观看| 精品人妻熟女av久视频| 天堂网av新在线| 午夜福利高清视频| 国产精品三级大全| 夜夜夜夜夜久久久久| 天天一区二区日本电影三级| 久久精品久久久久久噜噜老黄 | 麻豆国产av国片精品| 国产探花在线观看一区二区| 在线观看av片永久免费下载| 精品久久国产蜜桃| 别揉我奶头~嗯~啊~动态视频| 免费观看精品视频网站| 1000部很黄的大片| 久久久久久久午夜电影| 啦啦啦啦在线视频资源| 国产精品一区二区三区四区免费观看 | 日日摸夜夜添夜夜添av毛片 | 99精品久久久久人妻精品| 国产欧美日韩精品一区二区| 91午夜精品亚洲一区二区三区 | 国产探花在线观看一区二区| 男女啪啪激烈高潮av片| 精品免费久久久久久久清纯| 国产精品永久免费网站| 全区人妻精品视频| 色哟哟·www| 色av中文字幕| 九九在线视频观看精品| 国产一区二区在线av高清观看| 免费看日本二区| 波野结衣二区三区在线| 美女黄网站色视频| 日韩 亚洲 欧美在线| 色5月婷婷丁香| www日本黄色视频网| 国产精品久久视频播放| 亚洲三级黄色毛片| 22中文网久久字幕| or卡值多少钱| 精品99又大又爽又粗少妇毛片 | 欧美在线一区亚洲| 高清在线国产一区| 精品一区二区三区人妻视频| 一级毛片久久久久久久久女| av黄色大香蕉| 久久欧美精品欧美久久欧美| 欧美成人性av电影在线观看| 男女那种视频在线观看| 女同久久另类99精品国产91| 久久精品影院6| 91精品国产九色| 亚洲一区二区三区色噜噜| 综合色av麻豆| 蜜桃亚洲精品一区二区三区| 亚洲经典国产精华液单| 亚洲国产欧美人成| 中文字幕免费在线视频6| 欧美一区二区精品小视频在线| 日日干狠狠操夜夜爽| 成人美女网站在线观看视频| 亚洲精品一区av在线观看| 中国美女看黄片| 赤兔流量卡办理| 国产精品久久久久久精品电影| 午夜精品在线福利| 亚洲va日本ⅴa欧美va伊人久久| 精品午夜福利在线看| 一卡2卡三卡四卡精品乱码亚洲| 国产精品综合久久久久久久免费| 最近中文字幕高清免费大全6 | 全区人妻精品视频| 久久久久久国产a免费观看| 免费黄网站久久成人精品| 午夜福利高清视频| 色播亚洲综合网| 可以在线观看毛片的网站| 日本 av在线| 99热这里只有是精品在线观看| 精品一区二区三区视频在线观看免费| 极品教师在线免费播放| 中文在线观看免费www的网站| 欧美日本亚洲视频在线播放| 国产精品嫩草影院av在线观看 | 日韩人妻高清精品专区| 一区二区三区免费毛片| 国产精品人妻久久久久久| 我的女老师完整版在线观看| 在线看三级毛片| 我的老师免费观看完整版| 嫩草影院入口| 国产伦一二天堂av在线观看| 亚洲av成人av| 日韩欧美在线二视频| 国产三级在线视频| 欧美色视频一区免费| 国产黄片美女视频| 深夜精品福利| 又爽又黄无遮挡网站| 国产一级毛片七仙女欲春2| 少妇的逼好多水| 久9热在线精品视频| 国语自产精品视频在线第100页| 久久这里只有精品中国| 午夜福利在线观看吧| 日韩在线高清观看一区二区三区 | 国产亚洲精品久久久com| 欧美激情国产日韩精品一区| 长腿黑丝高跟| 精品久久久久久成人av| 久久人人精品亚洲av| 一本一本综合久久| 成人高潮视频无遮挡免费网站| 亚洲在线观看片| 免费观看精品视频网站| 18禁黄网站禁片午夜丰满| 白带黄色成豆腐渣| 亚洲性夜色夜夜综合| 麻豆精品久久久久久蜜桃| 中文字幕免费在线视频6| 亚洲色图av天堂| 最近视频中文字幕2019在线8| 能在线免费观看的黄片| 久久久久久久午夜电影| 久99久视频精品免费| 日本成人三级电影网站| 村上凉子中文字幕在线| 琪琪午夜伦伦电影理论片6080| 校园春色视频在线观看| 国产精品国产高清国产av| 久久久久久伊人网av| 久久久久久久精品吃奶| bbb黄色大片| 搡老熟女国产l中国老女人| 午夜影院日韩av| 好男人在线观看高清免费视频| 赤兔流量卡办理| 日韩精品有码人妻一区| 99国产精品一区二区蜜桃av| 亚洲男人的天堂狠狠| 最好的美女福利视频网| 18禁黄网站禁片免费观看直播| 国产精品免费一区二区三区在线| 国产单亲对白刺激| 不卡视频在线观看欧美| 91av网一区二区| 欧美成人a在线观看| 一边摸一边抽搐一进一小说| 在线国产一区二区在线| 欧美日本亚洲视频在线播放| 亚洲av免费在线观看| 非洲黑人性xxxx精品又粗又长| 在线天堂最新版资源| 久久久久久久久大av| 午夜爱爱视频在线播放| 免费人成在线观看视频色| 草草在线视频免费看| 桃红色精品国产亚洲av| 校园春色视频在线观看| 波多野结衣高清无吗| а√天堂www在线а√下载| 欧美另类亚洲清纯唯美| 波多野结衣高清无吗| 国产黄色小视频在线观看| 亚洲av不卡在线观看| 欧美日本视频| 亚洲成人中文字幕在线播放| 99久久无色码亚洲精品果冻| 国产精品永久免费网站| 国产精品一区二区三区四区免费观看 | 亚洲精品一卡2卡三卡4卡5卡| 成人精品一区二区免费| 亚洲精品一区av在线观看| 欧美激情在线99| 性欧美人与动物交配| 亚洲欧美日韩东京热| 国产黄a三级三级三级人| 色视频www国产| 亚洲专区国产一区二区| 国产一区二区激情短视频| 99热这里只有是精品50| 看片在线看免费视频| 精华霜和精华液先用哪个| 久久久久国内视频| 精品久久久久久久久久免费视频| 久久精品国产自在天天线| 99riav亚洲国产免费| 亚洲av中文字字幕乱码综合| 婷婷精品国产亚洲av在线| 我要搜黄色片| 蜜桃久久精品国产亚洲av| 日本-黄色视频高清免费观看| 久久精品影院6| 真实男女啪啪啪动态图| 国产精品综合久久久久久久免费| 超碰av人人做人人爽久久| 国产成人av教育| 日日干狠狠操夜夜爽| 欧美xxxx性猛交bbbb| 国产免费一级a男人的天堂| 老司机深夜福利视频在线观看| 天天一区二区日本电影三级| 大型黄色视频在线免费观看| 一级毛片久久久久久久久女| 老师上课跳d突然被开到最大视频| 久久精品国产亚洲av香蕉五月| 午夜精品在线福利| 国产探花在线观看一区二区| 88av欧美| 久久精品影院6| 麻豆精品久久久久久蜜桃| 亚洲三级黄色毛片| 悠悠久久av| 久久精品国产亚洲av天美| 亚洲中文字幕日韩| 欧美一区二区国产精品久久精品| 国内精品宾馆在线| 日韩欧美国产在线观看| 在线观看av片永久免费下载| 日本免费a在线| 成人亚洲精品av一区二区| 日本黄大片高清| 制服丝袜大香蕉在线| 久久久久久久久久久丰满 | 赤兔流量卡办理| 亚洲精品成人久久久久久| 一本久久中文字幕| 18+在线观看网站| 国产黄a三级三级三级人| 免费看日本二区| 国产极品精品免费视频能看的| 禁无遮挡网站| 日日摸夜夜添夜夜添av毛片 | 欧美最新免费一区二区三区| 国产91精品成人一区二区三区| 国产亚洲av嫩草精品影院| 欧美最新免费一区二区三区| 成人特级av手机在线观看| 亚洲精品影视一区二区三区av| 看免费成人av毛片| 欧美激情在线99| 国产av麻豆久久久久久久| 亚洲熟妇中文字幕五十中出| 老司机午夜福利在线观看视频| 精品人妻视频免费看| 99热这里只有是精品在线观看| 国产亚洲精品av在线| 国产精品,欧美在线| 最近最新中文字幕大全电影3| 国产精品无大码| 久久久国产成人精品二区| 久久精品91蜜桃| 春色校园在线视频观看| 尾随美女入室| 少妇裸体淫交视频免费看高清| 久久人妻av系列| 亚洲av中文av极速乱 | 免费观看精品视频网站| 在线免费观看的www视频| 99精品久久久久人妻精品| 国产午夜精品论理片| 听说在线观看完整版免费高清| 99久久成人亚洲精品观看| 久久精品国产亚洲av香蕉五月| 桃色一区二区三区在线观看| 人人妻人人看人人澡| 国产精品av视频在线免费观看| 亚洲av一区综合| 少妇人妻精品综合一区二区 | 欧美黑人巨大hd| 亚洲av不卡在线观看| 波野结衣二区三区在线| av在线天堂中文字幕| 老师上课跳d突然被开到最大视频| 亚洲av免费在线观看| 亚洲av电影不卡..在线观看| 伦理电影大哥的女人| 最近最新免费中文字幕在线| 日日摸夜夜添夜夜添小说| 极品教师在线免费播放| 欧美一级a爱片免费观看看| 亚洲精品一区av在线观看| 成人鲁丝片一二三区免费| 在线观看av片永久免费下载| 天堂动漫精品| 亚洲四区av|