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

網絡蜘蛛的職能介紹

2018-03-21 12:29:21王寶盈
計算機與網絡 2018年1期
關鍵詞:搜索引擎頁面程序

■王寶盈

網絡蜘蛛即Web Spider,是一個很形象的名字。把互聯網比喻成一個蜘蛛網,那么Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那么網絡蜘蛛就可以用這個原理把互聯網上所有的網頁都抓取下來。

在抓取網頁的時候,網絡蜘蛛一般有兩種策略:廣度優先和深度優先。

廣度優先是指網絡蜘蛛會先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。這是最常用的方式,因為這個方法可以讓網絡蜘蛛并行處理,提高其抓取速度。深度優先是指網絡蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續跟蹤鏈接。這個方法有個優點是網絡蜘蛛在設計的時候比較容易。兩種策略的區別,下圖的說明會更加明確。

由于不可能抓取所有的網頁,有些網絡蜘蛛對一些不太重要的網站,設置了訪問的層數。例如,在左圖中,A為起始網頁,屬 于 0 層 ,B、C、D、E、F屬于第 1層,G、H屬于第2層,I屬于第3層。如果網絡蜘蛛設置的訪問層數為2的話,網頁I是不會被訪問到的。這也讓有些網站上一部分網頁能夠在搜索引擎上搜索到,另外一部分不能被搜索到。對于網站設計者來說,扁平化的網站結構設計有助于搜索引擎抓取其更多的網頁。

網絡蜘蛛在訪問網站網頁的時候,經常會遇到加密數據和網頁權限的問題,有些網頁是需要會員權限才能訪問。當然,網站的所有者可以通過協議讓網絡蜘蛛不去抓取,但對于一些出售報告的網站,他們希望搜索引擎能搜索到他們的報告,但又不能完全的讓搜索者查看,這樣就需要給網絡蜘蛛提供相應的用戶名和密碼。網絡蜘蛛可以通過所給的權限對這些網頁進行網頁抓取,從而提供搜索。而當搜索者點擊查看該網頁的時候,同樣需要搜索者提供相應的權限驗證。

網站與網絡蜘蛛

網絡蜘蛛需要抓取網頁,不同于一般的訪問,如果控制不好,則會引起網站服務器負擔過重。早前淘寶就因為雅虎搜索引擎的網絡蜘蛛抓取其數據引起淘寶網服務器的不穩定。那么網站是否就無法和網絡蜘蛛交流呢?其實不然,有多種方法可以讓網站和網絡蜘蛛進行交流。一方面讓網站管理員了解網絡蜘蛛都來自哪兒,做了些什么,另一方面也告訴網絡蜘蛛哪些網頁不應該抓取,哪些網頁應該更新。

每個網絡蜘蛛都有自己的名字,在抓取網頁的時候,都會向網站標明自己的身份。網絡蜘蛛在抓取網頁的時候會發送一個請求,這個請求中就有一個字段為User-agent,用于標識此網絡蜘蛛的身份。例如Google網絡蜘蛛的標識為Google-Bot,Baidu網絡蜘蛛的標識為BaiDuSpider,Yahoo網絡蜘蛛的標識為Inktomi Slurp。如果在網站上有訪問日志記錄,網站管理員就能知道,哪些搜索引擎的網絡蜘蛛過來過,什么時候過來的,以及讀了多少數據等等。如果網站管理員發現某個蜘蛛有問題,就通過其標識來和其所有者聯系。

網絡蜘蛛進入一個網站,一般會訪問一個特殊的文本文件Robots.txt,這個文件一般放在網站服務器的根目錄下,http∶//www.blogchina.com/robots.txt。網站管理員可以通過robots.txt來定義哪些目錄網絡蜘蛛不能訪問,或者哪些目錄對于某些特定的網絡蜘蛛不能訪問。例如有些網站的可執行文件目錄和臨時文件目錄不希望被搜索引擎搜索到,那么網站管理員就可以把這些目錄定義為拒絕訪問目錄。Robots.txt語法很簡單,例如對目錄沒有任何限制,可以用以下兩行來描述:

User-agent∶?

Disallow∶

當然,Robots.txt只是一個協議,如果網絡蜘蛛的設計者不遵循這個協議,網站管理員也無法阻止網絡蜘蛛對于某些頁面的訪問,但一般的網絡蜘蛛都會遵循這些協議,網站管理員還可以通過其它方式來拒絕網絡蜘蛛對某些網頁的抓取。

網絡蜘蛛在下載網頁的時候,會去識別網頁的HTML代碼,在其代碼的部分,會有META標識。通過這些標識,可以告訴網絡蜘蛛本網頁是否需要被抓取,還可以告訴網絡蜘蛛本網頁中的鏈接是否需要被繼續跟蹤。例如:表示本網頁不需要被抓取,但是網頁內的鏈接需要被跟蹤。

現在一般的網站都希望搜索引擎能更全面的抓取自己網站的網頁,因為這樣可以讓更多的訪問者能通過搜索引擎找到此網站。為了讓本網站的網頁更全面被抓取到,網站管理員可以建立一個網站地圖,即SiteMap。許多網絡蜘蛛會把sitemap.htm文件作為一個網站網頁爬取的入口,網站管理員可以把網站內部所有網頁的鏈接放在這個文件里面,那么網絡蜘蛛可以很方便的把整個網站抓取下來,避免遺漏某些網頁,也會減小對網站服務器的負擔。

內容提取

搜索引擎建立網頁索引,處理的對象是文本文件。對于網絡蜘蛛來說,抓取下來網頁包括各種格式,包括html、圖片、doc、pdf、多媒體、動態網頁及其他格式等。這些文件抓取下來后,需要把這些文件中的文本信息提取出來。準確提取這些文檔的信息,一方面對搜索引擎的搜索準確性有重要作用,另一方面對于網絡蜘蛛正確跟蹤其它鏈接有一定影響。

對于doc、pdf等文檔,這種由專業廠商提供的軟件生成的文檔,廠商都會提供相應的文本提取接口。網絡蜘蛛只需要調用這些插件的接口,就可以輕松的提取文檔中的文本信息和文件其它相關的信息。

HTML等文檔不一樣,HTML有一套自己的語法,通過不同的命令標識符來表示不同的字體、顏色、位置等版式,提取文本信息時需要把這些標識符都過濾掉。過濾標識符并非難事,因為這些標識符都有一定的規則,只要按照不同的標識符取得相應的信息即可。但在識別這些信息的時候,需要同步記錄許多版式信息,例如文字的字體大小、是否是標題、是否是加粗顯示、是否是頁面的關鍵詞等,這些信息有助于計算單詞在網頁中的重要程度。同時,對于HTML網頁來說,除了標題和正文以外,會有許多廣告鏈接以及公共的頻道鏈接,這些鏈接和文本正文一點關系也沒有,在提取網頁內容的時候,也需要過濾這些無用的鏈接。例如某個網站有“產品介紹”頻道,因為導航條在網站內每個網頁都有,若不過濾導航條鏈接,在搜索“產品介紹”的時候,則網站內每個網頁都會搜索到,無疑會帶來大量垃圾信息。過濾這些無效鏈接需要統計大量的網頁結構規律,抽取一些共性,統一過濾;對于一些重要而結果特殊的網站,還需要個別處理。這就需要網絡蜘蛛的設計有一定的擴展性。

對于多媒體、圖片等文件,一般是通過鏈接的錨文本(即,鏈接文本)和相關的文件注釋來判斷這些文件的內容。例如有一個鏈接文字為“某某照片”,其鏈接指向一張bmp格式的圖片,那么網絡蜘蛛就知道這張圖片的內容是“某某的照片”。這樣,在搜索“某某”和“照片”的時候都能讓搜索引擎找到這張圖片。另外,許多多媒體文件中有文件屬性,考慮這些屬性也可以更好的了解文件的內容。

動態網頁一直是網絡蜘蛛面臨的難題。所謂動態網頁,是相對于靜態網頁而言,是由程序自動生成的頁面,這樣的好處是可以快速統一更改網頁風格,也可以減少網頁所占服務器的空間,但同樣給網絡蜘蛛的抓取帶來一些麻煩。由于開發語言不斷的增多,動態網頁的類型也越來越多,如:asp、jsp和php等。這些類型的網頁對于網絡蜘蛛來說,可能還稍微容易一些。網絡蜘蛛比較難于處理的是一些腳本語言(如VBScript和JavaScript)生成的網頁,如果要完善的處理好這些網頁,網絡蜘蛛需要有自己的腳本解釋程序。對于許多數據是放在數據庫的網站,需要通過本網站的數據庫搜索才能獲得信息,這些給網絡蜘蛛的抓取帶來很大的困難。對于這類網站,如果網站設計者希望這些數據能被搜索引擎搜索,則需要提供一種可以遍歷整個數據庫內容的方法。

對于網頁內容的提取,一直是網絡蜘蛛中重要的技術。整個系統一般采用插件的形式,通過一個插件管理服務程序,遇到不同格式的網頁采用不同的插件處理。這種方式的好處在于擴充性好,以后每發現一種新的類型,就可以把其處理方式做成一個插件補充到插件管理服務程序之中。

更新周期

由于網站的內容經常在變化,因此網絡蜘蛛也需不斷的更新其抓取網頁的內容,這就需要網絡蜘蛛按照一定的周期去掃描網站,查看哪些頁面是需要更新的頁面,哪些頁面是新增頁面,哪些頁面是已經過期的死鏈接。

搜索引擎的更新周期對搜索引擎搜索的查全率有很大影響。如果更新周期太長,則總會有一部分新生成的網頁搜索不到;周期過短,技術實現會有一定難度,而且會對帶寬、服務器的資源都有浪費。搜索引擎的網絡蜘蛛并不是所有的網站都采用同一個周期進行更新,對于一些重要的更新量大的網站,更新的周期短,如有些新聞網站,幾個小時就更新一次;相反對于一些不重要的網站,更新的周期就長,可能一兩個月才更新一次。

一般來說,網絡蜘蛛在更新網站內容的時候,不用把網站網頁重新抓取一遍,對于大部分的網頁,只需要判斷網頁的屬性(主要是日期),把得到的屬性和上次抓取的屬性相比較,如果一樣則不用更新。

Spider的實現細節

a.URL的組織和管理考慮到系統自身的資源和時間有限,Spider程序應盡可能的對鏈接進行篩選,以保證獲取信息的質量和效率。Spider程序對新URL的選擇往往與搜索引擎的類型、目標集合、能夠處理信息的類型、資源的限制和是否支持Robots限制協議有關。

概括為以下幾點:

訪問過的和重復的URL排除;

文件類型必須被系統處理,不能處理的URL排除;

不在目標集合中的排除,被Rohots.txt限制的排除。

URL排序也是減輕系統負擔的重要手段之一。這就要求計算URL的重要性,如果評估新URI的重要性較高,則會沖掉舊的URL。無論任何情況下,對Spider而言,首先訪問目標集合中的重要站點都是重要且有意義的。但是一個頁面的重要性的準確評估只能在分析其內容之后進行。可以根據一個頁面鏈接數量的多少來評估此頁面是否重要;或者對URL地址進行解析其中的內容例如以“.com”“.edu”“.cn”就較為重要一些,或者可以根據頁而標題與當前的熱點問題是否相近或相關來評定其頁面的重要性。決定網站或頁面的重要性的因素很多,也根據各個搜索引擎的側重點不同而各異,最終的評估方法都依賴于該搜索引擎對于資源獲取的要求來決定。影響Spider速度的一種重要因素是DNS查詢,為此每個Spider都要維護一個自己的DNS緩沖。這樣每個鏈接都處于不同的狀態,包括∶DNS查詢、連接到主機、發送請求、得到響應。這些因素綜合起來使得Spider變成一個非常復雜的系統。

b.Spider的遍歷規則:頁面的遍歷主要有兩種方式,深度遍歷和廣度遍歷。深度遍歷算法可以獲得的信息較為集中,信息比較完整,但覆蓋面就比較有限,廣度遍歷算法則相反。

c.Spider實現中的主要問題:雖然Spider的功能很強,但也存在不少的問題。

①如果一組URL地址沒有被組外URL所鏈接到,那么Spider就找不到它們。由于spider不能更新過快(因為網絡帶寬是有限的,更新過快就會影響其他用戶的正常使用),難免有不能及時加入的新網站或新頁面。

②spider程序在遍歷Web時也存在危險,很可能遇到一個環鏈接而陷入死循環中。簡單的避免方法就是忽略已訪問過的URL,或限制網站的遍歷深度。

③Spider程序是大型搜索引擎中很脆弱的部分,因為它與很多的Web報務器、不同的域名服務器打交道,而這些服務完全在系統的控制之外。由于網絡上包含了大量的垃圾信息,Spider很可能會收取這些垃圾信息。一個頁面出現問題也很可能引起Spider程序中止、崩潰或其他不可預料的行為。因此訪問Internet的Spider程序應該設計得非常強壯,充分考慮各種可能遇到的情況,讓Spider在遇到各種情況時可以采取相應的處理行為,而不至于獲得一些垃圾信息或者直接就對程序本身造成危害。

Spider構架

發現、搜集網頁信息需要有高性能的“網絡蜘蛛”程序Spider去自動地在互聯網中搜索信息。一個典型的網絡蜘蛛工作的方式∶查看一個頁面,并從中找到相關信息,然后它再從該頁面的所有鏈接中出發,繼續尋找相關的信息,以此類推。網絡蜘蛛在搜索引擎整體結構中的位置如下圖所示:初始化時,網絡蜘蛛一般指向一個URL(Uniform Resource Locator)池。在遍歷Internet的過程中,按照深度優先或廣度優先或其他啟發式算法從URL池中取出若干URL進行處理,同時將未訪問的URL放入URL池中,這樣處理直到URL池空為止。對Web文檔的索引則根據文檔的標題、首段落甚至整個頁面內容進行,這取決于搜索服務的數據收集策略。

網絡蜘蛛在漫游的過程中,根據頁面的標題、頭、鏈接等生成摘要放在索引數據庫中。如果是全文搜索,還需要將整個頁面的內容保存到本地數據庫。網絡蜘蛛為實現其快速地瀏覽整個互聯網,通常在技術上采用搶先式多線程技術實現在網上搜索信息。通過搶先式多線程的使用,你能索引一個基于URL鏈接的Web頁面,啟動一個新的線程跟隨每個新的URL鏈接,索引一個新的URL起點。當然在服務器上所開的線程也不能無限膨脹,需要在服務器的正常運轉和快速收集網頁之間找一個平衡點。

在整個搜索引擎工作過程中,整個蜘蛛的數據入口是URL地址,數據出口是Web頁倉庫。Spider程序發現URL鏈接以后,經過Stor處理模塊,將我們所需要的網頁數據存儲在Web頁倉庫中,為以后的形成網頁快照、網頁分析提供基礎數據。在Spider程序工作的過程中,發現新的鏈接,對該鏈接進行分析,形成新的搜索地址,作為下一次Spider程序的數據輸入。這個過程的實現就是Spider程序的隊列管理。

Spider程序的工作過程,簡單來講,就是不斷發現新的鏈接,并對該鏈接對應的頁面分析存儲的工程。

一、索引器:索引器的功能是理解搜索器所搜集的信息,從中抽取出索引項,用于表示文檔以及生成文檔庫的索引表。索引項有客觀索引項和內容索引項兩種:客觀項——與文檔的語意內容無關,如作者名、URL、更新時間、編碼、長度、鏈接流行度(Link Popularity)等等;內容索引項——是用來反映文檔內容的,如關鍵詞及其權重、短語、詞、字等等。內容索引項可以分為單索引項和多索引項(或稱短語索引項)兩種。單索引項對于英文來講是英語單詞,比較容易提取,因為單詞之間有天然的分隔符(空格);對于中文等連續書寫的語言,必須采用多索引項,進行詞語的切分。索引器可以使用集中式索引算法或分布式索引算法。當數據量很大時,必須實現實時索引(Real-time Indexing),否則不能夠跟上信息量急劇增加的速度。索引算法對索引器的性能(如大規模峰值查詢時的響應速度)有很大的影響。一個搜索引擎的有效性在很大程度取決于索引的質量。由于漢文字符多,處理復雜,中文詞的處理不容易。索引器中的中文分詞技術:一個分詞系統=分詞程序+分詞詞典(1)最大匹配法MM(2)反向最大匹配法RMM(1)最佳匹配法OM(1)雙向掃描法(百度的分詞就采用了雙向掃描法)系統關鍵是:分詞精度和分詞速度。

二、建立索引的方法:為了加快檢索速度,搜索引擎要對Snider程序搜集到的信,建立倒排索引。①全文索引和部分索引有些搜索引擎對于信息庫中的頁面建立全文索引,有些只建立摘要部分索引或者每個段落前面部分的索引。還有些搜索引擎在建立索引時,要同時考慮超文本的不同標記所表示的含義,如粗體、大字體顯示的東西往往比較重要。有些搜索引擎還在建立索引的過程中收集頁面中的超鏈接。這些超鏈接反映了收集到的信息之間的空間結構。利用這些結果信息可以提高頁面相關度判別時的準確度。②是否過濾無用詞由于網頁中存在這許多無用(無實際意義)單詞,例如“啊”“的”等。這此詞往往不能明確表達該網頁信息,所以有些搜索引擎保存一個無用詞匯表,在建立索引時將不對這些詞匯建立索引。③是否使用Meta標記中的信息網頁中的Meta標記用來標注一些非常顯示性的信息。有些網頁將頁面的關鍵詞等信息放在其中。便于在建立索引的過程中提高這些詞匯的相關度。④是否對圖像標記中的替換文本(ALT text)或頁面中的注解建立索引由于現有的搜索引擎對圖像的檢索技術還不太成熟,大多數搜索引擎不支持圖像的檢索。在超文本的結構頁面中,圖像標記中往往存放著圖像的替換信息。這些信息說明了該圖像對應的圖像的基本信息。⑤是否支持詞干提取技術。

三、建立索引的過程:分析過程對文檔進行索引并存儲到存儲桶中排序過程。

Spider處理流程

當一個URL被加入到等待隊列中時Spider程序就會開始運行。只要等待隊列中有一個網頁或Spider程序正在處理一個網頁,Spider程序就會繼續它的工作。當等待隊列為空并且當前沒有處理任何網頁,Spider程序就會停止它的工作。

Spider程序實現初探

Spider程序是從網上下載Web頁面再對其進行處理,為了提高效率,很顯然要采用多線程的方法,幾個Spider線程同時并行工作,訪問不同的鏈接。構造Spider程序有兩種方式。第一種是將它設計為遞歸程序,第二種是將它編寫成非遞歸的程序。遞歸是在一個方法中調用它本身的程序設計技術。當需要重復做同樣的基本任務或在處理先前任務時可展現將來的任務信息時,遞歸是相當實用的。例如下面的代碼:

void RecursiveSpider(String url){

download URL……

parse URL……

while found each URL

call RecursiveSpider(found URL)……

process the page just downloaded……

}

這段代碼查看單獨的一個Web頁的任務放在一個RecursiveSpider方法中。在此,調用RecursiveSipder方法來訪問URL。當它發現鏈接時,該方法調用它自己。遞歸方法在訪問很少的網頁時,可以使用。因為當一個遞歸程序運行時要把每次遞歸壓入堆棧(堆棧是個程序結構,每次調用一個方法時,將返回地址存入其中)。如果遞歸程序要運行很多次,堆棧會變得非常大,它可能會耗盡整個堆棧內存而導致程序中止。遞歸還有個問題是多線程和遞歸是不兼容的,因為在這一過程中每一個線程都是自己的堆棧。當一個方法調用它自身時,它們需要使用同一個堆棧。這就是說遞歸的Spider程序不能使用多線程。非遞歸程序不調用自身,而是采用隊列的方法。隊列就是排隊,要得到程序的處理就必須在隊列中排隊等待。我們在構造Spider時就采用該方式。使用非遞歸的方法時,給定Spider程序一個要訪問的頁面,它會將其加入到要訪問的站點的隊列中去。當Spider發現新的鏈接時,也會將它們加入到該隊列中。Spider程序會順序處理隊列中的每一個網頁。實際在Spider程序中使用了四個隊列;在Spider程序的構造過程中,有兩種方法用于訪問隊列的管理。一種方法就是基于內存的隊列管理,第二種方法就是基于SQL的隊列管理。

基于SQL的隊列和基于內存的隊列都是有效的,網上做實驗的結果表明,在系統運行過程中間,如果Spider的訪問任務隨著網頁數量增加,基于內存的Spider程序效率會下降。因而,選擇基于SQL的隊列管理方案來構造本Spider 程序。

等待隊列:在這里,URL等待被Spider程序處理。新發現的URL被加入到該處理隊列。當Spider開始處理URL時,它們被傳送到這一隊列。當一個URL被處理后它被移送到錯誤隊列或完成隊列。錯誤隊列:如果下載某一頁面時出現錯誤,它的URL將被加入該隊列。該隊列的URL不會再移動到其他隊列。被列入該隊列的URL將不再會被Spider程序處理。

完成隊列:如果頁面的下載沒有出現任何錯誤,則該頁面將會被加入完成隊列。加入該隊列的URL不會再移動到其他隊列。同一時刻一個URL只能在一個隊列中。其實通俗的講就是該URL處于什么狀態,URL狀態的變化過程就是程序處理URL的過程。Spider程序會遇到三種連接:內部連接、外部連接及其他連接。

猜你喜歡
搜索引擎頁面程序
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 亚洲经典在线中文字幕| a毛片在线免费观看| 精品国产91爱| 啪啪免费视频一区二区| 亚洲成人高清无码| 在线观看无码av免费不卡网站| 国产成人免费| 国产高清在线丝袜精品一区| 国产精品v欧美| 国产无遮挡猛进猛出免费软件| 久久频这里精品99香蕉久网址| 色噜噜在线观看| 国产成人精品一区二区免费看京| 亚洲国产天堂久久综合226114| 亚洲精品国产首次亮相| 久久综合亚洲鲁鲁九月天| 成人免费午间影院在线观看| 国产福利免费观看| 国产在线观看99| 国产噜噜噜视频在线观看| 国产色图在线观看| 日韩精品久久久久久久电影蜜臀| 久久精品视频亚洲| av无码一区二区三区在线| 在线观看无码av五月花| 尤物成AV人片在线观看| 免费看av在线网站网址| 韩国福利一区| 久久综合成人| 国产在线视频二区| 午夜国产不卡在线观看视频| 日韩欧美91| 3D动漫精品啪啪一区二区下载| 无码丝袜人妻| 91www在线观看| 国产日韩欧美黄色片免费观看| 91蜜芽尤物福利在线观看| 极品私人尤物在线精品首页| 国产精品30p| 亚洲国产精品日韩专区AV| 中文字幕在线观| 99视频精品在线观看| 国产福利一区二区在线观看| 99热这里只有精品2| 精品国产成人国产在线| 国产另类视频| 国产精品大白天新婚身材| 97影院午夜在线观看视频| 欧美精品亚洲精品日韩专区| 久久久久久高潮白浆| 亚洲免费福利视频| 婷婷在线网站| 欧美人人干| 亚洲日本中文字幕乱码中文| 草草线在成年免费视频2| 午夜福利网址| 国产成人高清精品免费软件| 国产农村精品一级毛片视频| 国产精品亚洲一区二区在线观看| 特级aaaaaaaaa毛片免费视频| 美女免费精品高清毛片在线视| 乱人伦中文视频在线观看免费| 国产剧情国内精品原创| 亚洲性一区| 国产哺乳奶水91在线播放| 国产欧美日韩一区二区视频在线| 国产区人妖精品人妖精品视频| 欧美成人午夜影院| 经典三级久久| 久久久亚洲国产美女国产盗摄| 丰满的熟女一区二区三区l| 免费一级毛片在线观看| 啪啪啪亚洲无码| 欧美成人h精品网站| 亚洲h视频在线| 毛片大全免费观看| 国产在线观看精品| 免费观看成人久久网免费观看| 欧美日韩亚洲综合在线观看| 人人91人人澡人人妻人人爽| 国产乱人视频免费观看| 国产又粗又猛又爽视频|