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

基于開源搜索引擎的架構(gòu)設(shè)計(jì)和J2EE實(shí)現(xiàn)(一)

開發(fā) 后端
本文介紹了基于開源搜索引擎的架構(gòu)設(shè)計(jì)和J2EE實(shí)現(xiàn)。搜索引擎技術(shù)伴隨著WWW的發(fā)展是引人注目的。本文主要介紹了搜索引擎的背景與結(jié)構(gòu),以及網(wǎng)絡(luò)機(jī)器人的概念。

第一章 引言

面對(duì)浩瀚的網(wǎng)絡(luò)資源,搜索引擎為所有網(wǎng)上沖浪的用戶提供了一個(gè)入口,毫不夸張的說,所有的用戶都可以從搜索出發(fā)到達(dá)自己想去的網(wǎng)上任何一個(gè)地方。因此它也成為除了電子郵件以外最多人使用的網(wǎng)上服務(wù)。

搜索引擎技術(shù)伴隨著WWW的發(fā)展是引人注目的。搜索引擎大約經(jīng)歷了三代的更新發(fā)展:

第一代搜索引擎出現(xiàn)于1994年。這類搜索引擎一般都索引少于1,000,000個(gè)網(wǎng)頁(yè),極少重新搜集網(wǎng)頁(yè)并去刷新索引。而且其檢索速度非常慢,一般都要等待10秒甚至更長(zhǎng)的時(shí)間。在實(shí)現(xiàn)技術(shù)上也基本沿用較為成熟的IR(Information Retrieval)、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等技術(shù),相當(dāng)于利用一些已有技術(shù)實(shí)現(xiàn)的一個(gè)WWW上的應(yīng)用。在1994年3月到4月,網(wǎng)絡(luò)爬蟲World Web Worm (WWWW)平均每天承受大約1500次查詢。

大約在1996年出現(xiàn)的第二代搜索引擎系統(tǒng)大多采用分布式方案(多個(gè)微型計(jì)算機(jī)協(xié)同工作)來提高數(shù)據(jù)規(guī)模、響應(yīng)速度和用戶數(shù)量,它們一般都保持一個(gè)大約50,000,000網(wǎng)頁(yè)的索引數(shù)據(jù)庫(kù),每天能夠響應(yīng)10,000,000次用戶檢索請(qǐng)求。1997年11月,當(dāng)時(shí)最先進(jìn)的幾個(gè)搜索引擎號(hào)稱能建立從2,000,000到100,000,000的網(wǎng)頁(yè)索引。Altavista搜索引擎聲稱他們每天大概要承受20,000,000次查詢。

2000年搜索引擎2000年大會(huì)上,按照Google公司總裁Larry Page的演講,Google正在用3,000臺(tái)運(yùn)行Linux系統(tǒng)的個(gè)人電腦在搜集Web上的網(wǎng)頁(yè),而且以每天30臺(tái)的速度向這個(gè)微機(jī)集群里添加電腦,以保持與網(wǎng)絡(luò)的發(fā)展相同步。每臺(tái)微機(jī)運(yùn)行多個(gè)爬蟲程序搜集網(wǎng)頁(yè)的峰值速度是每秒100個(gè)網(wǎng)頁(yè),平均速度是每秒48.5個(gè)網(wǎng)頁(yè),一天可以搜集超過4,000,000網(wǎng)頁(yè)

搜索引擎一詞在國(guó)內(nèi)外因特網(wǎng)領(lǐng)域被廣泛使用,然而他的含義卻不盡相同。在美國(guó)搜索引擎通常指的是基于因特網(wǎng)的搜索引擎,他們通過網(wǎng)絡(luò)機(jī)器人程序收集上千萬到幾億個(gè)網(wǎng)頁(yè),并且每一個(gè)詞都被搜索引擎索引,也就是我們說的全文檢索。著名的因特網(wǎng)搜索引擎包括First Search、Google、HotBot等。在中國(guó),搜索引擎通常指基于網(wǎng)站目錄的搜索服務(wù)或是特定網(wǎng)站的搜索服務(wù),本人這里研究的是基于因特網(wǎng)的搜索技術(shù)。

第二章 搜索引擎的結(jié)構(gòu)

2.1系統(tǒng)概述

搜索引擎是根據(jù)用戶的查詢請(qǐng)求,按照一定算法從索引數(shù)據(jù)中查找信息返回給用戶。為了保證用戶查找信息的精度和新鮮度,搜索引擎需要建立并維護(hù)一個(gè)龐大的索引數(shù)據(jù)庫(kù)。一般的搜索引擎由網(wǎng)絡(luò)機(jī)器人程序、索引與搜索程序、索引數(shù)據(jù)庫(kù)等部分組成。

2.2搜索引擎的構(gòu)成

2.2.1網(wǎng)絡(luò)機(jī)器人

網(wǎng)絡(luò)機(jī)器人也稱為“網(wǎng)絡(luò)蜘蛛”(Spider),是一個(gè)功能很強(qiáng)的WEB掃描程序。它可以在掃描WEB頁(yè)面的同時(shí)檢索其內(nèi)的超鏈接并加入掃描隊(duì)列等待以后掃描。因?yàn)閃EB中廣泛使用超鏈接,所以一個(gè)Spider程序理論上可以訪問整個(gè)WEB頁(yè)面。

為了保證網(wǎng)絡(luò)機(jī)器人遍歷信息的廣度和深度需要設(shè)定一些重要的鏈接并制定相關(guān)的掃描策略。

2.2.2索引與搜索

網(wǎng)絡(luò)機(jī)器人將遍歷得到的頁(yè)面存放在臨時(shí)數(shù)據(jù)庫(kù)中,如果通過SQL直接查詢信息速度將會(huì)難以忍受。為了提高檢索效率,需要建立索引,按照倒排文件的格式存放。如果索引不及時(shí)跟新的話,用戶用搜索引擎也不能檢索到。

用戶輸入搜索條件后搜索程序?qū)⑼ㄟ^索引數(shù)據(jù)庫(kù)進(jìn)行檢索然后把符合查詢要求的數(shù)據(jù)庫(kù)按照一定的策略進(jìn)行分級(jí)排列并且返回給用戶。

2.2.3 Web服務(wù)器

客戶一般通過瀏覽器進(jìn)行查詢,這就需要系統(tǒng)提供Web服務(wù)器并且與索引數(shù)據(jù)庫(kù)進(jìn)行連接??蛻粼跒g覽器中輸入查詢條件,Web服務(wù)器接收到客戶的查詢條件后在索引數(shù)據(jù)庫(kù)中進(jìn)行查詢、排列然后返回給客戶端。

2.3搜索引擎的主要指標(biāo)及分析

搜索引擎的主要指標(biāo)有響應(yīng)時(shí)間、召回率、準(zhǔn)確率、相關(guān)度等。這些指標(biāo)決定了搜索引擎的技術(shù)指標(biāo)。搜索引擎的技術(shù)指標(biāo)決定了搜索引擎的評(píng)價(jià)指標(biāo)。好的搜索引擎應(yīng)該是具有較快的反應(yīng)速度和高召回率、準(zhǔn)確率的,當(dāng)然這些都需要搜索引擎技術(shù)指標(biāo)來保障。

召回率:一次搜索結(jié)果中符合用戶要求的數(shù)目與用戶查詢相關(guān)信息的總數(shù)之比

準(zhǔn)確率:一次搜索結(jié)果中符合用戶要求的數(shù)目與該次搜索結(jié)果總數(shù)之比

相關(guān)度:用戶查詢與搜索結(jié)果之間相似度的一種度量

精確度:對(duì)搜索結(jié)果的排序分級(jí)能力和對(duì)垃圾網(wǎng)頁(yè)的抗干擾能力

2.4小節(jié)

以上對(duì)基于因特網(wǎng)的搜索引擎結(jié)構(gòu)和性能指標(biāo)進(jìn)行了分析,本人在這些研究的基礎(chǔ)上利用JavaTM技術(shù)和一些Open Source工具實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的搜索引擎——新聞搜索引擎。在接下來的幾章里將會(huì)就本人的設(shè)計(jì)進(jìn)行詳細(xì)的分析。

第三章 網(wǎng)絡(luò)機(jī)器人

3.1什么是網(wǎng)絡(luò)機(jī)器人

網(wǎng)絡(luò)機(jī)器人又稱為Spider程序,是一種專業(yè)的Bot程序。用于查找大量的Web頁(yè)面。它從一個(gè)簡(jiǎn)單的Web頁(yè)面上開始執(zhí)行,然后通過其超鏈接在訪問其他頁(yè)面,如此反復(fù)理論上可以掃描互聯(lián)網(wǎng)上的所有頁(yè)面。

基于因特網(wǎng)的搜索引擎是Spider的最早應(yīng)用。例如搜索巨頭Google公司,就利用網(wǎng)絡(luò)機(jī)器人程序來遍歷Web站點(diǎn),以創(chuàng)建并維護(hù)這些大型數(shù)據(jù)庫(kù)。

網(wǎng)絡(luò)機(jī)器人還可以通過掃描Web站點(diǎn)的主頁(yè)來得到這個(gè)站點(diǎn)的文件清單和層次機(jī)構(gòu)。還可以掃描出中斷的超鏈接和拼寫錯(cuò)誤等。

3.2網(wǎng)絡(luò)機(jī)器人的結(jié)構(gòu)分析

Internet是建立在很多相關(guān)協(xié)議基礎(chǔ)上的,而更復(fù)雜的協(xié)議又建立在系統(tǒng)層協(xié)議之上。Web就是建立在HTTP ( Hypertext Transfer Protocol ) 協(xié)議基礎(chǔ)上,而HTTP又是建立在TCP/IP ( Transmission Control Protocol / Internet Protocol ) 協(xié)議之上,它同時(shí)也是一種Socket協(xié)議。所以網(wǎng)絡(luò)機(jī)器人本質(zhì)上是一種基于Socket的網(wǎng)絡(luò)程序。

3.2.1如何解析HTML

因?yàn)閃eb中的信息都是建立在HTML協(xié)議之上的,所以網(wǎng)絡(luò)機(jī)器人在檢索網(wǎng)頁(yè)時(shí)的第一個(gè)問題就是如何解析HTML。在解決如何解析之前,先來介紹下HTML中的幾種數(shù)據(jù)。

文本:除了腳本和標(biāo)簽之外的所有數(shù)據(jù)

注釋:程序員留下的說明文字,對(duì)用戶是不可見的

簡(jiǎn)單標(biāo)簽:由單個(gè)表示的HTML標(biāo)簽

開始標(biāo)簽和結(jié)束標(biāo)簽:用來控制所包含的HTML代碼

我們?cè)谶M(jìn)行解析的時(shí)候不用關(guān)心所有的標(biāo)簽,只需要對(duì)其中幾種重要的進(jìn)行解析即可。

超連接標(biāo)簽

超連接定義了WWW通過Internet鏈接文檔的功能。他們的主要目的是使用戶能夠任意遷移到新的頁(yè)面,這正是網(wǎng)絡(luò)機(jī)器人最關(guān)心的標(biāo)簽。

圖像映射標(biāo)簽

圖像映射是另一種非常重要的標(biāo)簽。它可以讓用戶通過點(diǎn)擊圖片來遷移到新的頁(yè)面中。

表單標(biāo)簽

表單是Web頁(yè)面中可以輸入數(shù)據(jù)的單元。許多站點(diǎn)讓用戶填寫數(shù)據(jù)然后通過點(diǎn)擊按鈕來提交內(nèi)容,這就是表單的典型應(yīng)用。

表格標(biāo)簽

表格是HTML的構(gòu)成部分,通常用來格式化存放、顯示數(shù)據(jù)。

我們?cè)诰唧w解析這些HTMl標(biāo)簽有兩種方法:通過JavaTM中的Swing類來解析或者通過Bot包中的HTMLPage類來解析,本人在實(shí)際編程中采用后者。

Bot包中的HTMLPage類用來從指定URL中讀取數(shù)據(jù)并檢索出有用的信息。下面給出該類幾種重要的方法。

HTMLPage構(gòu)造函數(shù) 構(gòu)造對(duì)象并指定用于通訊的HTTP對(duì)象

Public HTMLPage(HTTP http)

GetForms方法 獲取最后一次調(diào)用Open方法檢索到的表單清單

Public Vector getForms()

GetHTTP方法 獲取發(fā)送給構(gòu)造函數(shù)的HTTP對(duì)象

Public HTTP getHTTP()

GetImage方法 獲取指定頁(yè)面的圖片清單

Public Vector getImage()

GetLinks方法 獲取指定頁(yè)面的連接清單

Public Vector getLinks()

Open方法 打開一個(gè)頁(yè)面并讀入該頁(yè)面,若指定了回調(diào)對(duì)象則給出所有該對(duì)象數(shù)據(jù)

Public void open(String url,HTMLEditorKit.ParserCallback a)

3.2.2 Spider程序結(jié)構(gòu)

網(wǎng)絡(luò)機(jī)器人必須從一個(gè)網(wǎng)頁(yè)遷移到另一個(gè)網(wǎng)頁(yè),所以必須找到該頁(yè)面上的超連接。程序首先解析網(wǎng)頁(yè)的HTML代碼,查找該頁(yè)面內(nèi)的超連接然后通過遞歸和非遞歸兩種結(jié)構(gòu)來實(shí)現(xiàn)Spider程序。

遞歸結(jié)構(gòu)

遞歸是在一個(gè)方法中調(diào)用自己本身的程序設(shè)計(jì)技術(shù)。雖然比較容易實(shí)現(xiàn)但耗費(fèi)內(nèi)存且不能使用多線程技術(shù),故不適合大型項(xiàng)目。

非遞歸結(jié)構(gòu)

這種方法使用隊(duì)列的數(shù)據(jù)結(jié)構(gòu),當(dāng)Spider程序發(fā)現(xiàn)超連接后并不調(diào)用自己本身而是把超連接加入到等待隊(duì)列中。當(dāng)Spider程序掃描完當(dāng)前頁(yè)面后會(huì)根據(jù)制定的策略訪問隊(duì)列中的下一個(gè)超連接地址。

雖然這里只描述了一個(gè)隊(duì)列,但在實(shí)際編程中用到了四個(gè)隊(duì)列,他們每個(gè)隊(duì)列都保存著同一處理狀態(tài)的URL。

等待隊(duì)列 在這個(gè)隊(duì)列中,URL等待被Spider程序處理。新發(fā)現(xiàn)的URL也被加入到這個(gè)隊(duì)列中

處理隊(duì)列 當(dāng)Spider程序開始處理時(shí),他們被送到這個(gè)隊(duì)列中

錯(cuò)誤隊(duì)列 如果在解析網(wǎng)頁(yè)時(shí)出錯(cuò),URL將被送到這里。該隊(duì)列中的URL不能被移入其他隊(duì)列中

完成隊(duì)列 如果解析網(wǎng)頁(yè)沒有出錯(cuò),URL將被送到這里。該隊(duì)列中的URL不能被移入其它隊(duì)列中

在同一時(shí)間URL只能在一個(gè)隊(duì)列中,我們把它稱為URL的狀態(tài)。

以上的圖表示了隊(duì)列的變化過程,在這個(gè)過程中,當(dāng)一個(gè)URL被加入到等待隊(duì)列中時(shí)Spider程序就會(huì)開始運(yùn)行。只要等待隊(duì)列中有一個(gè)網(wǎng)頁(yè)或Spider程序正在處理一個(gè)網(wǎng)頁(yè),程序就會(huì)繼續(xù)他的工作。當(dāng)?shù)却?duì)列為空并且當(dāng)前沒有任何網(wǎng)頁(yè)時(shí),Spider程序就會(huì)停止它的工作。

3.2.3如何構(gòu)造Spider程序

在構(gòu)造Spider程序之前我們先了解下程序的各個(gè)部分是如何共同工作的。以及如何對(duì)這個(gè)程序進(jìn)行擴(kuò)展。

流程圖如下所示:

IspiderReportable接口

這是一個(gè)必須實(shí)現(xiàn)的接口,可以通過回調(diào)函數(shù)接受Spider所遇到的頁(yè)面。接口定義了Spider向他的控制者發(fā)送的幾個(gè)事件。通過提供對(duì)每個(gè)事件的處理程序,可以創(chuàng)建各種Spider程序。下面是他的接口聲明:

  1. public interface IspiderReportable{   
  2. public boolean foundInternalLink(String url);   
  3. public boolean foundExternalLink(String url);   
  4. public boolean foundOtherLink(String url);   
  5. public void processPage(HTTP page);   
  6. public void completePage(HTTP page,boolean error);   
  7. public boolean getRemoveQuery();   
  8. public void SpiderComplete();   
  9. }  

3.2.4如何提高程序性能

Internet中擁有海量的Web頁(yè)面,如果開發(fā)出高效的Spider程序是非常重要的。下面就來介紹下幾種提高性能的技術(shù):

Java的多線程技術(shù)

線程是通過程序的一條執(zhí)行路線。多線程是一個(gè)程序同時(shí)運(yùn)行多個(gè)任務(wù)的能力。它是在一個(gè)程序的內(nèi)部進(jìn)行分工合作。

優(yōu)化程序的通常方法是確定瓶頸并改進(jìn)他。瓶頸是一個(gè)程序中最慢的部分,他限制了其他任務(wù)的運(yùn)行。據(jù)個(gè)例子說明:一個(gè)Spider程序需要下載十個(gè)頁(yè)面,要完成這一任務(wù),程序必須向服務(wù)器發(fā)出請(qǐng)求然后接受這些網(wǎng)頁(yè)。當(dāng)程序等待響應(yīng)的時(shí)候其他任務(wù)不能執(zhí)行,這就影響了程序的效率。如果用多線程技術(shù)可以讓這些網(wǎng)頁(yè)的等待時(shí)間合在一起,不用互相影響,這就可以極大的改進(jìn)程序性能。

數(shù)據(jù)庫(kù)技術(shù)

當(dāng)Spider程序訪問一個(gè)大型Web站點(diǎn)時(shí),必須使用一種有效的方法來存儲(chǔ)站點(diǎn)隊(duì)列。這些隊(duì)列管理Spider程序必須維護(hù)大型網(wǎng)頁(yè)的列表。如果把他們放在內(nèi)存中將會(huì)是性能下降,所以我們可以把他們放在數(shù)據(jù)庫(kù)中減少系統(tǒng)資源的消耗。

3.2.5網(wǎng)絡(luò)機(jī)器人的代碼分析

程序代碼實(shí)現(xiàn)如下:

  1. package news;   
  2. /**   
  3. * 新聞搜索引擎   
  4. * 計(jì)算機(jī)99630 沈晨   
  5. * 版本 1.0   
  6. */   
  7. import com.heaton.bot.HTTP;   
  8. import com.heaton.bot.HTTPSocket;   
  9. import com.heaton.bot.ISpiderReportable;   
  10. import com.heaton.bot.IWorkloadStorable;   
  11. import com.heaton.bot.Spider;   
  12. import com.heaton.bot.SpiderInternalWorkload;   
  13. /**   
  14. * 構(gòu)造一個(gè)Bot程序   
  15. */   
  16. public class Searcher   
  17. implements ISpiderReportable {   
  18. public static void main(String[] args) throws Exception {   
  19. IWorkloadStorable wl = new SpiderInternalWorkload();   
  20. Searcher _searcher = new Searcher();   
  21. Spider _spider   
  22. new Spider(_searcher, "http://127.0.0.1/news.htm",   
  23. new HTTPSocket(), 100, wl);   
  24. _spider.setMaxBody(100);   
  25. _spider.start();   
  26. }   
  27. // 發(fā)現(xiàn)內(nèi)部連接時(shí)調(diào)用,url表示程序發(fā)現(xiàn)的URL,若返回true則加入作業(yè)中,否則不加入。   
  28. public boolean foundInternalLink(String url) {   
  29. return false;   
  30. }   
  31. // 發(fā)現(xiàn)外部連接時(shí)調(diào)用,url表示程序所發(fā)現(xiàn)的URL,若返回true則把加入作業(yè)中,否則不加入。   
  32. public boolean foundExternalLink(String url) {   
  33. return false;   
  34. }   
  35. // 當(dāng)發(fā)現(xiàn)其他連接時(shí)調(diào)用這個(gè)方法。其他連接指的是非HTML網(wǎng)頁(yè),可能是E-mail或者FTP   
  36. public boolean foundOtherLink(String url) {   
  37. return false;   
  38. }   
  39. // 用于處理網(wǎng)頁(yè),這是Spider程序要完成的實(shí)際工作。   
  40. public void processPage(HTTP http) {   
  41. System.out.println("掃描網(wǎng)頁(yè):" + http.getURL());   
  42. new HTMLParse(http).start();   
  43. }   
  44. // 用來請(qǐng)求一個(gè)被處理的網(wǎng)頁(yè)。   
  45. public void completePage(HTTP http, boolean error) {   
  46. }   
  47. // 由Spider程序調(diào)用以確定查詢字符串是否應(yīng)刪除。如果隊(duì)列中的字符串應(yīng)當(dāng)刪除,方法返回真。   
  48. public boolean getRemoveQuery() {   
  49. return true;   
  50. }   
  51. // 當(dāng)Spider程序沒有剩余的工作時(shí)調(diào)用這個(gè)方法。   
  52. public void spiderComplete() {   
  53. }   
  54. }  

3.3小節(jié)

在本章中,首先介紹了網(wǎng)絡(luò)機(jī)器人的基本概念,然后具體分析了Spider程序的結(jié)構(gòu)和功能。在最后還結(jié)合具體代碼進(jìn)行了詳細(xì)說明。

本人在編程中運(yùn)用了Java技術(shù),主要涉及到了net和io兩個(gè)包。此外還用了第三方開發(fā)包Bot(由Jeff Heaton提供的開發(fā)包)。

【編輯推薦】

  1. 學(xué)習(xí)J2EE必須掌握的36個(gè)Package
  2. solaris上開發(fā)J2EE應(yīng)用中文問題的解決
  3. J2EE框架的種類一覽
  4. J2EE架構(gòu)和過程
  5. J2EE架構(gòu)的6個(gè)最佳實(shí)踐

責(zé)任編輯:book05 來源: 百度博客
相關(guān)推薦

2009-06-23 08:05:02

搜索引擎

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計(jì)模式

2009-06-22 17:34:40

J2EE架構(gòu)

2009-06-11 17:11:07

J2EE設(shè)計(jì)模式工廠模式

2009-06-10 16:25:43

J2EE架構(gòu)架構(gòu)

2009-06-23 08:08:45

J2EE體系架構(gòu)會(huì)話面數(shù)據(jù)訪問對(duì)象

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2011-06-20 18:23:06

SEO

2009-06-11 17:19:47

J2EE設(shè)計(jì)模式Template

2009-02-23 11:18:06

J2EE架構(gòu)師Java

2009-02-05 10:54:47

登錄方式J2EEWeb

2009-06-23 16:48:26

J2EE常見問題J2EE平臺(tái)

2009-06-19 17:03:44

J2EE學(xué)習(xí)

2009-06-11 17:06:11

J2EE歷史Java EE概述

2011-04-07 13:05:23

DBSight搜索關(guān)系型數(shù)據(jù)庫(kù)

2009-06-11 17:23:09

J2EE設(shè)計(jì)模式State模式

2020-02-24 08:52:08

開源索引YaCy

2009-06-23 08:03:02

2009-06-10 16:35:26

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国内精品伊人久久久| 欧美片第一页| 99久久免费精品高清特色大片| 性欧美暴力猛交69hd| a级在线观看视频| 成人亚洲网站| 亚洲大片一区二区三区| 视频一区二区综合| 亚洲国产精品一| 天堂午夜影视日韩欧美一区二区| 久久久www成人免费精品张筱雨| 成人免费看片载| 日本在线精品| 亚洲一区二区偷拍精品| 亚洲国产日韩综合一区| 色婷婷av一区二区三| 狠狠色丁香婷综合久久| 91精品国产99久久久久久| 日韩一区二区三区四区视频| 久久亚洲黄色| 日韩一区二区免费视频| 亚洲熟妇无码另类久久久| 免费a级人成a大片在线观看| 9人人澡人人爽人人精品| 成人h视频在线观看播放| 亚洲视频免费播放| 911精品美国片911久久久| 亚洲欧美视频在线| 亚洲激情 欧美| 国产乱码精品一区二区三区亚洲人| 国产精品分类| 亚洲欧美在线x视频| 免费看三级黄色片| 2020国产精品小视频| 91九色最新地址| 欧美日本亚洲| 刘亦菲毛片一区二区三区| 精品一区二区免费视频| 国产精品久久久久77777| 亚洲欧美在线视频免费| 欧美人成在线| 久久国产视频网站| 蜜桃av.com| 日韩在线第七页| 亚洲最新av在线| 自拍偷拍视频亚洲| 自拍自偷一区二区三区| 亚洲国语精品自产拍在线观看| 特黄特黄一级片| 最新亚洲国产| 日韩天堂在线观看| 先锋资源在线视频| 亚洲2区在线| 日韩视频一区二区三区在线播放 | 国产h视频在线观看| 91视频国产观看| 久久精品国产精品青草色艺 | 你懂的国产在线| 亚洲麻豆视频| 4438全国成人免费| 天天干天天干天天干天天| 中日韩男男gay无套| 欧美一区二区大胆人体摄影专业网站| 久久一区二区三区视频| 先锋a资源在线看亚洲| 日韩av免费在线| а中文在线天堂| 韩国三级中文字幕hd久久精品| 亚洲va欧美va国产综合剧情| 精品人妻一区二区三区浪潮在线| 国产精品18久久久久久vr| 99视频在线免费观看| 黄色av小说在线观看| heyzo一本久久综合| 欧美日本亚洲| 国产黄色在线观看| 夜夜精品视频一区二区| aa在线免费观看| 最新日韩一区| 日韩欧美高清一区| 91玉足脚交白嫩脚丫| 精品国产一区二区三区久久久樱花 | 色噜噜偷拍精品综合在线| 亚洲激情在线观看视频| 成人免费观看49www在线观看| 日韩精品中文字幕在线不卡尤物| chinese麻豆新拍video| 国产成人高清| 久久亚洲私人国产精品va| 日韩欧美不卡视频| 免播放器亚洲一区| 国产精品国产三级国产专区53 | 久久久久久免费网| 色哺乳xxxxhd奶水米仓惠香| 久草在线资源福利站| 欧美亚日韩国产aⅴ精品中极品| 成人亚洲免费视频| 香蕉视频一区二区三区| 精品久久国产精品| 超碰中文字幕在线| 国产风韵犹存在线视精品| 欧美日韩三区四区| 影音先锋男人资源在线| 色综合欧美在线| 91精品国产高清91久久久久久| 国产99精品| 欧美激情精品久久久久久| 国产真人无遮挡作爱免费视频| 国产黑丝在线一区二区三区| 日韩欧美亚洲精品| 成人影院在线视频| 制服丝袜中文字幕一区| 国产传媒第一页| 欧美啪啪一区| 国产在线观看一区二区三区| 飘雪影院手机免费高清版在线观看| 最好看的中文字幕久久| 日韩 欧美 高清| 高清精品视频| 欧美乱大交xxxxx另类电影| 夜夜爽妓女8888视频免费观看| 东方aⅴ免费观看久久av| 一区二区三区欧美在线| 欧美日韩美女| 日韩精品中文字幕有码专区| 欧美被狂躁喷白浆精品| 国产一区在线观看视频| 亚洲精品电影在线一区| 在线最新版中文在线| 精品国产伦一区二区三区观看体验 | 激情内射人妻1区2区3区| 麻豆成人入口| 久久免费视频网站| 亚洲精品免费在线观看视频| 亚洲色图一区二区三区| 中文字幕亚洲乱码| 成人高清电影网站| 国产成人亚洲综合| 欧美人体大胆444www| 欧美日韩在线第一页| 亚洲一级av无码毛片精品| 国产精品99免费看| 99在线热播| 五月花成人网| 欧美大片在线观看一区二区| 久久精品视频免费在线观看| 狠狠色狠狠色综合| 真人做人试看60分钟免费| av在线国产精品| 久久久国产一区二区| 一区二区三区免费在线| 亚洲欧洲在线观看av| 天堂av在线8| 亚洲区综合中文字幕日日| 亚洲综合大片69999| 日本h片在线观看| 精品福利av导航| 一区二区三区视频免费看| 91麻豆国产精品久久| 免费在线观看毛片网站| 国产探花一区二区| 国产日韩在线精品av| 国产在线观看免费麻豆| 日韩一级免费一区| 久久高清免费视频| 国产亚洲欧美日韩日本| 怡红院亚洲色图| 午夜精品久久久久99热蜜桃导演| 超碰97人人在线| 周于希免费高清在线观看| 亚洲一区二区福利| 一卡二卡在线观看| 亚洲主播在线播放| 成人性生交大免费看| 另类人妖一区二区av| 69精品丰满人妻无码视频a片| 超碰精品在线观看| 日韩美女在线看| 97超碰资源站在线观看| 精品中文字幕久久久久久| 亚洲精品毛片一区二区三区| 亚洲欧洲99久久| 污网站免费观看| 日韩高清在线一区| 日本久久久网站| 精品久久国产| 国产日韩欧美综合精品| 91精品韩国| 欧美精品一二区| 国产小视频在线| 日韩一级免费观看| 天天操天天干天天摸| 一区二区成人在线观看| 一区二区三区久久久久| 国产成人精品1024| 四季av一区二区| 亚洲国产一区二区三区高清| 亚洲人体一区| 日韩深夜福利| 99r国产精品视频| 巨胸喷奶水www久久久免费动漫| 九九热最新视频//这里只有精品| 免费在线黄色影片| 精品少妇一区二区三区视频免付费| 日韩不卡在线播放| 亚洲综合免费观看高清完整版| 波多野结衣a v在线| 国产成人a级片| 中文字幕日韩综合| 日韩av网站在线观看| 日本韩国欧美在线观看| 综合在线一区| 日韩午夜视频在线观看| 美女一区2区| 99re热精品| 精品午夜视频| 国产日本欧美在线观看| 国偷自产一区二区免费视频| 97国产精品免费视频| 成人短视频在线| 原创国产精品91| 伦理片一区二区三区| 精品国产污污免费网站入口 | 日韩欧美不卡在线| 中文字幕人成人乱码| 亚洲午夜精品久久| 国产亚洲一区二区三区啪| 好看的日韩精品视频在线| 国产视频一区二| 川上优av一区二区线观看| 四虎影视成人精品国库在线观看 | 欧美人交a欧美精品| 美女免费久久| 日韩在线观看高清| 在线观看免费黄色| 中文字幕亚洲综合| 粉嫩一区二区三区国产精品| 亚洲女人被黑人巨大进入| 无码国产精品96久久久久| 精品国产乱码久久久久久1区2区| 国产欧美久久久精品免费| 4438成人网| 国产www视频| 日韩欧美专区在线| 国产成人免费看一级大黄| 欧美一区二区精品久久911| 91影院在线播放| 538prom精品视频线放| 一区二区三区www污污污网站| 欧美日韩国产一级| 91在线精品入口| 欧美一区二区不卡视频| 国产成人精品亚洲精品色欲| 日韩免费视频线观看| 亚洲精品久久久狠狠狠爱| 亚洲国产精品国自产拍av秋霞| 手机在线不卡av| 日韩精品在线影院| www.av在线播放| 久久久国产91| 人交獸av完整版在线观看| 久久久久久久久久久91| 日韩脚交footjobhd| 国产成人精品999| 日韩免费在线电影| 国产精品二区在线观看| 亚洲第一福利专区| 视频一区三区| 欧美成人tv| 日韩a在线播放| 极品少妇xxxx偷拍精品少妇| 高清中文字幕mv的电影| 久久久久久99久久久精品网站| 亚洲一级理论片| 亚洲精品国产精品乱码不99 | av网站在线看| 91精品国产91久久久| 精品国模一区二区三区| 91免费高清视频| 欧美一区二区三区红桃小说| 视频一区在线免费观看| 欧美理论在线| av五月天在线| 高清免费成人av| 在线免费看黄视频| 一级日本不卡的影视| 日本熟女毛茸茸| 日韩欧美一区在线| 黄色av免费在线观看| 久久亚洲影音av资源网 | 人体私拍套图hdxxxx| 欧美极品另类videosde| 免费毛片在线播放免费| 日本高清不卡在线观看| 亚洲精品网站在线| 国产亚洲精品日韩| h片精品在线观看| 国产在线观看不卡| 自拍偷拍一区| 老子影院午夜伦不卡大全| 日本亚洲免费观看| 日韩精品人妻中文字幕有码 | 四虎影视精品永久在线观看| 国产在线精品日韩| 我不卡神马影院| www.四虎成人| 波多野洁衣一区| 在线观看美女av| 欧日韩精品视频| 色欲av伊人久久大香线蕉影院| xvideos亚洲人网站| 成人免费短视频| 国产伦理一区二区三区| 天天综合精品| 亚洲三级视频网站| 久久久综合九色合综国产精品| 欧美成欧美va| 91精品国产一区二区三区| av网站在线播放| 日韩av片免费在线观看| 国产亚洲成av人片在线观黄桃| 欧美与动交zoz0z| 久久精品国产亚洲一区二区三区| 欧美 日韩 国产 成人 在线观看| 精品成人久久av| 欧美一级免费片| 欧美极品美女视频网站在线观看免费| 日本精品久久| 亚洲一二三区在线| 蜜臀久久99精品久久久久宅男 | 天天舔天天干天天操| 久久久亚洲福利精品午夜| 国产一区 二区| av不卡在线免费观看| 久久精品久久精品| 三级黄色在线观看| 欧美日韩一区二区在线观看视频| 精品成人一区二区三区免费视频| 日本成人在线视频网址| 校花撩起jk露出白色内裤国产精品| 91九色丨porny丨国产jk| 成人免费不卡视频| 日韩精品――中文字幕| 日韩精品在线看| 香蕉视频亚洲一级| 日本高清不卡三区| 免费精品视频最新在线| 久久久精品成人| 欧美日韩精品一区二区| 日本网站在线免费观看视频| 国产精品中文在线| 久久久国产精品| 精品无码av一区二区三区不卡| 亚洲一区二三区| 手机在线精品视频| 日本精品视频网站| 日本一区二区免费高清| 亚洲怡红院在线| 一区二区三区在线播| 日本激情一区二区| 日本欧美黄网站| 日韩中字在线| 制服.丝袜.亚洲.中文.综合懂 | av黄色在线网站| 国产欧美日韩综合精品一区二区 | 日日av拍夜夜添久久免费| 亚洲成人午夜在线| 国产精品中文字幕欧美| 国产午夜福利精品| 国产香蕉一区二区三区在线视频 | 国产一区二区三区美女| 免费在线观看国产精品| 亚洲美女av在线| 亚洲a成人v| 国产精品裸体瑜伽视频| 国产亚洲一区二区三区在线观看| 一级爱爱免费视频| 欧美激情在线观看| 精品一区三区| 中文字幕剧情在线观看| 五月激情丁香一区二区三区| 97电影在线| 国产精选在线观看91| 蜜臀va亚洲va欧美va天堂| 久久久精品国产sm调教| 亚洲人成网站免费播放| 精品午夜av| 黑森林精品导航| 亚洲二区在线观看| jizz在线观看中文| 国产欧美一区二区三区不卡高清| 天堂午夜影视日韩欧美一区二区| 欧美黄色免费在线观看| 一区二区三区动漫| 大伊香蕉精品在线品播放| 黄色三级视频在线| 天天综合天天综合色| 欧美成人xxx| 欧洲在线视频一区| 国产白丝精品91爽爽久久|