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

一種基于Chrome擴展程序的網絡數據采集方法

2016-08-05 07:58:00
計算機應用與軟件 2016年7期
關鍵詞:數據處理程序用戶

沈 洪 洲

(南京郵電大學管理學院 江蘇 南京 210023)

?

一種基于Chrome擴展程序的網絡數據采集方法

沈 洪 洲

(南京郵電大學管理學院江蘇 南京 210023)

摘要采集大量的網絡數據可以為相關的科學研究提供重要的數據基礎。針對科研工作者無法方便靈活地采集針對性網絡數據的現狀,提出基于Chrome擴展程序的網絡數據采集方法,從網頁中析取數據,或通過Ajax技術從網頁服務器端直接讀取結構化的數據,并對采集到的數據進行集中處理和存儲。最終的執行效果表明,該方法可以突破動態網頁技術的限制,無需處理復雜的用戶登錄邏輯,并可支持多用戶場景下的分布式網絡數據采集。

關鍵詞Chrome擴展程序網絡數據采集Ajax分布式

0引言

隨著互聯網技術與理念的不斷推陳出新,尤其是以Web 2.0為基礎的社會化媒體的出現和普及,使得廣大用戶成為互聯網的中心,他們通過論壇、社交網絡、微博、維基等應用,不斷地創造和傳播各式各樣的互聯網內容。這些以論壇帖文、個人狀態和日志、微博信息、維基條目等為典型主體的互聯網內容,連同圍繞這些內容產生的各種回復和評價一起形成了互聯網上隨處可見的海量的網絡數據。在“大數據”研究受到日益重視的背景下,海量網絡數據的重要性已經顯而易見,其蘊藏的研究價值逐漸凸顯,為基于互聯網的輿情監控、用戶行為分析和網絡社會學等方面的科學研究提供了極其重要的數據基礎[1]。然而,不同于靜態網頁中固定不變的數據,此類網絡數據絕大多數存在于動態網頁之中,均是根據不同的訪問場景由數據庫中的數據動態封裝而成,其訪問受到各個互聯網應用服務商的嚴格控制,加之Ajax等異步網絡編程技術的廣泛應用,使得如何大批量地采集具有研究價值的網絡數據成為許多科研工作者亟待解決的重要難題。本文從實際科研工作中的網絡數據采集需求出發,提出一種基于Chrome瀏覽器擴展程序的網絡數據采集方法,可突破普通網絡爬蟲和調用網站API數據采集方式的局限,幫助科研工作者以分布式的方式采集大量的具有針對性的網絡數據。

1網絡數據采集現狀分析

目前常見的網絡數據采集方法包括網絡爬蟲和調用網站API兩種,其中,網絡爬蟲是較早出現的一種網絡數據采集方法,它是一種能夠沿著網頁中的超級鏈接自動漫游,并依據廣度優先或深度優先的策略抓取頁面信息的程序。傳統的網絡爬蟲主要用于抓取新聞門戶類、論壇類及傳統博客類網站的數據,更擅長處理靜態網頁的數據[2]。為了能夠更好地抓取動態網頁中的數據,有不少研究開始嘗試改進傳統的網絡爬蟲,使之能夠處理受訪問保護的網頁和采用Ajax技術的網頁。孫青云等人[3]就提出了一種基于模擬登錄的微博數據采集方案,解決了傳統網絡爬蟲在采集微博數據時需要身份驗證的難題,加快了微博數據的采集速度。紀偉也設計了一種采用模擬登錄技術訪問受保護網頁的網絡數據采集系統,并詳細闡述了模擬登錄的過程和登陸成功后Cookie的使用問題[4]。Mesbah等人則開發了一種叫作Crawljax工具,該工具對傳統網絡爬蟲進行了改進,可以很好地分析基于Ajax技術的網站狀態以及引起狀態變化的各類頁面事件,從而獲取Ajax請求生成的靜態數據[5]。劉凡凡設計了一種面向Ajax技術的網絡爬蟲系統,采用Webkit引擎解析網頁中的JavaScript代碼,并據此生成Ajax數據的翻頁腳本,實現分頁數據的自動提取功能[6]。

盡管可以通過網絡爬蟲的一些改進技術實現各類網絡數據的采集,但網絡爬蟲獲取的往往是整個頁面數據,缺乏針對性,因此還需要采取一些額外措施對采集到的網頁數據進行解析和整理,以得到研究所需的目標數據。利用網站自身提供的API實現網絡數據采集則可以很好地解決數據針對性的問題。越來越多的社會化媒體網站推出了開放平臺,提供了豐富的API,在已獲授權的情況下,第三方程序可通過這些API直接獲取網絡數據。通過API獲取的網絡數據通常以JSON或XML的格式呈現,具有清晰的數據結構,非常便于通過程序直接進行數據抽取[7]。然而,對于網站API的調用也會受到種種限制。首先,網站提供的API種類可能有限制,有時并不能提供我們所需要的某類特定數據;其次,網站API的調用次數也會受到限制,例如人人網中普通授權應用的信息獲取類API調用配額為“單用戶每應用150次/小時”[8],這種限制往往無法滿足大批量數據的采集需求。

綜合考慮現有網絡數據采集方法中存在的諸多不足,并且立足于實際的科研工作,本文分析并總結出科研工作者對于網絡數據采集方法的具體需求,概括如下:

(1) 能夠采集到受保護的網絡數據。Web 2.0背景下,許多網絡數據受到保護,只有登錄以后才可以訪問到,在某些特定的科研工作中,這些受保護的網絡數據都具有很高的研究價值,是科研工作需要重點分析的一類網絡數據。

(2) 能夠靈活地采集多樣化的網絡數據。網絡上的數據種類非常豐富,為不同目的的科研工作提供了不同的研究數據,因此,可靈活地確定并采集到不同類型的網絡數據顯得尤為重要。

(3) 能夠持續采集大量的網絡數據。科學合理的研究結論往往來自對大批量研究數據的綜合分析,只有能夠持續地采集到大量的網絡數據才能很好地對科研工作起到支撐作用。

(4) 能夠采集不同用戶的網絡數據。單個互聯網用戶的網絡數據往往比較有限,也不能很好地證明研究結論的普適性,因此,獲取眾多不同用戶的網絡數據才具有真實的研究價值。

2基于Chrome擴展程序的網絡數據采集思路

為了更好地闡明本文所提方法的具體實現思路,可設定如下網絡數據采集場景:某研究團隊需要采集某社會化媒體網站的用戶數據,如個人信息、好友關系、評論、留言等。為此,研究人員招募了來自各地的眾多研究志愿者并試圖采集他們的相關數據。基于上文對于網絡數據采集方法實際需求的分析,本文基于谷歌公司Chrome瀏覽器的擴展程序,直接從瀏覽器端解析并整理需要采集的目標數據,然后將數據通過互聯網發送到數據庫集中存儲。具體實現思路如圖1所示。

圖1 具體實現思路圖

圖1中各個組成部分的具體功能描述如下:

(1) 網絡數據服務器。要采集的目標網絡數據由各類社會化媒體網站的服務器提供,如人人網服務器、新浪微博服務器等。服務器端的網絡數據會以兩種方式被傳遞給客戶端的瀏覽器:一種是服務器端將數據整合成網頁后直接發送到客戶端,例如數據量較小的用戶個人信息;另一種是客戶端的網頁通過Ajax技術請求并獲取到服務器上的數據,然后再將數據填入已經載入的網頁中,例如大量評論數據的分頁顯示。

(2) 網絡數據采集程序。網絡數據采集程序以Chrome擴展程序的形式直接運行于客戶端的Chrome瀏覽器,可以直接從已載入的網頁中解析出目標數據,也可以以Ajax方式根據目標數據的訪問地址直接從網絡數據服務器上獲取到目標數據。當完成目標數據的采集后,采集程序再將數據提交給后臺的數據處理服務器,供整理和存儲。可見,網絡數據采集程序的基礎是必須分析出目標數據的傳遞方式,弄清楚數據在網頁中的具體位置或數據的具體請求地址。對于那些受到保護的網絡數據,可以在志愿者登錄到網站之后再運行數據采集程序,不需要志愿者提供用戶名密碼,也可避免模擬登錄網站的復雜邏輯。

(3) 數據處理服務器。數據處理服務器運行于后臺,提供一系列基于REST模式的調用接口,網絡數據采集程序可通過這些接口將采集到的目標數據發送到數據處理服務器。數據處理服務器可在后臺對數據進行加工、整理和存儲。數據處理服務器可置于互聯網之上,位于不同地理位置的志愿者只要能訪問互聯網即可完成網絡數據的采集。

(4) 數據庫。即普通的關系型數據庫,主要用于集中存儲加工處理后的研究數據。

3關鍵技術實現

為能更為詳細地闡釋基于Chrome擴展程序的網絡數據采集方法關鍵技術的實現細節,本文以采集人人網用戶的狀態數據為例,對網絡數據采集程序和數據處理服務程序這兩個核心組件的具體實現過程進行說明。

3.1網絡數據采集程序的實現

Chrome瀏覽器的擴展程序是網絡數據采集程序的實現基礎,它在本質上是一段基于HTML、JavaScript和CSS等網頁開發技術的小程序。Chrome瀏覽器的擴展程序可以被用來更改或者增強Chrome瀏覽器的功能,例如,通過內容腳本或者跨源請求實現與網頁或者網絡服務器之間的交互,也可以通過擴展程序調用書簽和標簽頁等Chrome瀏覽器自帶的功能。擴展程序可以有自己的用戶界面,通常以兩種形式來觸發這個界面——瀏覽器動作和網頁動作。當擴展程序需要作用于許多不同的網頁時,可以選擇瀏覽器動作;當擴展程序只需作用于某個特定的網頁,且只有在該網頁出現才需要起作用時,可以選擇網頁動作[9]。本文討論的網絡數據采集方法將采集來自不同網頁的數據,故選擇網頁動作。當用戶點擊擴展程序圖標后,程序在后臺執行網絡數據的采集動作,并在彈出的界面內顯示數據采集的進程。

(1) 目標數據傳遞方式分析

在正式開發網絡數據采集程序之前,必須對將要采集的目標數據的傳遞方式進行詳細分析,為此,我們需要用到HTTP分析工具(如Chrome瀏覽器自帶的“開發者工具”)。利用HTTP分析工具對人人網的訪問過程進行分析,可以很容易發現在本例中需要首先獲得人人網用戶的編號,這是對人人網用戶的唯一標識,也是獲取該用戶狀態數據的基礎。HTTP分析結果顯示,可以通過直接訪問網址“http://guide.renren.com/guide”來獲得網頁文件,其中“XN.user, {′id′:′373465171′”處即含有用戶編號(即373465171)。因此,可以直接從網頁中析取用戶編號,即通過字符串處理的方法處理網頁內容,并取得用戶編號。進一步的HTTP分析可以發現,可以利用已獲得的用戶編號,通過Ajax方式訪問網址“http://status.renren.com/GetSomeomeDoingList.do?userId=X&curpage=Y”即能獲得用戶的狀態數據,其中X處用用戶編號替換,Y為狀態數據的頁碼(考慮狀態數據較多需要翻頁的情況)。以上網址返回的用戶狀態數據以JSON文件的形式存在,可通過JSON操作直接析取出需要的狀態數據,如編號、發布時間、評論總數和狀態內容等。

(2) 目標數據采集過程

在掌握目標數據的傳遞方式之后,可針對具體的傳遞方式編寫網絡數據采集程序實現目標數據的采集過程。

首先,作為一個Chrome瀏覽器的擴展程序,本例中網絡數據采集程序最核心的文件是manifest.json,它定義了本程序的所有關鍵屬性,包括最重要的文件和功能。在manifest.json中,聲明了程序采用瀏覽器動作,并指明彈出的網頁文件名為popup.html,更重要的是,還通過permissions參數給出了本程序可訪問的網址,除了所有人人網網頁的網址(http://*.renren.com/*, https://*.renren.com/*)外,還需包括數據處理服務器的網址,因為采集程序需向數據處理服務器提交結果數據。

在popup.html中加載popup.js,這是一個自行編寫的JavaScript腳本程序,是實現網絡數據采集過程的主體文件。由于popup.js中用到JQuery框架的Ajax調用方法,因此,popup.html中還需要加載jquery.min.js。本例中,popup.js的程序邏輯可以分為三個主要步驟:①獲得用戶編號;②通過用戶編號獲得用戶狀態數據;③將采集完成的狀態數據提交至數據處理服務器。此處,將重點討論以采集數據為主要目的的前兩個步驟。

獲取用戶編號的工作由getUserID方法實現。在該方法中,首先通過Ajax請求訪問網址“http://guide.renren.com/guide”,以獲取包含用戶編號的網頁。然后,將網頁視為普通文本并通過文本處理技術析取出用戶編號。最后,通過用戶編號調用獲取用戶狀態數據的方法。具體的程序流程如圖2所示。

圖2 getUserID方法的程序流程圖

用戶狀態的獲取通過getUserStatus方法實現,該方法旨在通過用戶編號獲取該用戶的狀態數據。當狀態數據較多時會出現分頁的情況,必須確定當前獲取的狀態數據處于哪一頁。因此,getUserStatus方法有用戶編號(userID)和頁碼(n)這兩個參數,在getUserID方法中調用getUserStatus方法時,參數n設定為0,即從第0頁開始獲取數據。getUserStatus方法的實現依然基于Ajax請求,具體的訪問地址由用戶編號和頁碼共同決定(請參考“目標數據傳遞方式分析”部分的分析結果)。如果請求沒有異常,則會獲得JSON格式的狀態數據,通過JSON操作可以很方便地獲取到目標數據,其核心代碼如下:

function getUserStatus(userID,n){

//獲取第n頁的狀態數據

……

//此處省略Ajax請求的發起代碼

success:function(msg){

//請求成功,獲取并解析返回的數據

//取得狀態列表,“doingArray”為人人網規定的標識

var statusList = msg.doingArray;

if(statusList.length>0){

//狀態列表不為空

for(var i=0;i

//依次處理狀態數據

console.log(″Status id: ″+ statusList[i].id.toString());

status = {

//需要的狀態信息

″sid″: statusList[i].id.toString(),

//狀態編號

″stime″: statusList[i].dtime,

//狀態發布時間

//狀態評論數

″scomment_count″: statusList[i].comment_count,

″scontent″: statusList[i].content

//狀態內容

};

userStatus.push(status);

//用數組存儲狀態數據

}

getUserStatus(userID,n+1);

//繼續采集下一頁狀態數據

}else{

//狀態列表為空,已無數據可采,準備提交數據

submitResult();

//通過該方法提交結果數據

}},

......

}

(3) 結果數據的提交過程

當完成用戶所有狀態數據的采集之后,需要將數據提交至數據處理服務器進行集中的處理和存儲,以便于科學研究的進一步使用。數據處理服務器提供的REST接口可以讓網絡數據采集程序很方便地通過遠程調用實現數據提交。在本例中,submitResult方法可將已采集到的狀態數據提交給數據處理服務器。首先,將用戶編號和用戶的所有狀態數據封裝成一個JSON數據對象,然后以Ajax方式調用數據處理服務器提供的狀態數據接收接口(例如http://example.com/study/status),通過POST方法將封裝有狀態數據的JSON對象整體提交至數據處理服務器,最后根據數據提交結果通知用戶數據采集是否順利完成。submitResult方法完整的實現代碼如下:

function submitResult(){

results={

//封裝狀態數據的JSON對象

″userID″: userID,

″userStatus″: userStatus };

$.ajax({

//發起Ajax請求

url:″http://example.com/study/status″,

//REST接口

data:JSON.stringify(results),

//將數據加入到請求中

type:″post″,

//設定提交方法

dataType:″html″,

contentType:″application/json;charset=UTF-8″,

success:function(msg){

if(msg==″OK″){

//提交數據成功

console.log(″Succeed to submit data.″);

$(″#waiting″).text(″采集數據完成。″);

//通知用戶

}else{

//提交數據失敗

console.log(″Submit data failed:″+msg);

$(″#waiting″).text(″采集數據失敗。″);

}

},

error:function(xhr){ alert(″提交數據發生錯誤!″); }

});

}

3.2數據處理服務程序的實現

數據處理服務程序實際是一個可以部署在互聯網上的Web應用,它提供REST接口供網絡數據采集程序調用,從而獲得已被采集到的狀態數據,然后對數據進行處理并存儲至后臺數據庫。本文研究基于Spring框架開發了一個簡單的Web應用,通過“/status”接口接收狀態數據,其核心處理過程的順序如圖3所示。

圖3 數據處理服務程序的順序圖

圖3中RESTConroller、DataService和DAO是數據處理服務程序的主要程序模塊,它們的詳細功能闡述如下:

(1) RESTController,是直接處理網絡數據采集程序REST調用的模塊,它通過HTTP協議獲取采集程序提交的用戶狀態數據,并進一步將數據解析成JSON對象交給DataService處理。

(2) DataService,是處理并抽取已采集的具體網絡數據的核心模塊,它利用JSON處理工具獲取諸如用戶編號、狀態編號、狀態內容等具體的數據項,然后構建相應的Java數據對象,交給DAO處理。

(3) DAO,是負責將已采集網絡數據進行持久化的模塊,它直接操作后臺的關系型數據庫,將采集到的網絡數據存入數據庫。

4方法執行效果

本文基于Chrome擴展程序的網絡數據采集方法已在實際研究工作中成功應用。研究招募了若干名志愿者,在向志愿者闡明研究意圖并得到志愿者同意的情況下,請志愿者在Chrome瀏覽器上安裝網絡數據采集程序,然后登錄人人網并點擊程序圖標,數據采集程序啟動并完成研究數據的采集。網絡數據采集程序的運行環境沒有特殊要求,志愿者只需安裝最新的Chrome瀏覽器即可。數據處理服務器的操作系統為Linux,應用服務器軟件為Apache Tomcat 5.5.36,采用1.6版的Java運行環境,后臺數據庫為MySQL 5.0.18。

當志愿者登錄人人網之后,點擊右上角的“S”圖標即可運行網絡數據采集程序,數據采集的進程在彈出的界面上展示給志愿者。具體如圖4所示。

圖4 網絡數據采集程序圖標和界面

通過Chrome瀏覽器的開發者工具可以看到網絡數據采集程序輸出的日志信息(如圖5所示),從而可以更準確地掌握數據采集的進程。

圖5 網絡數據采集程序的后臺日志

當網絡數據采集程序執行完畢后,通過數據庫管理系統的界面可以查詢到已經被采集到的用戶狀態數據。

5結語

依托實際的科研工作,本文提出一種基于Chrome瀏覽器擴展程序的網絡數據采集方法,在系統分析網絡數據采集實際需求的基礎上,詳細介紹了本方法的整體技術思路和核心組件的具體實現過程。基于Chrome瀏覽器擴展程序的網絡數據采集方法彌補了網絡爬蟲和網站API調用等常見網絡數據采集方法的不足,可以簡單靈活的方式采集Web 2.0環境下受保護的各類網絡數據,還可很方便地支持多用戶場景下的分布式網絡數據采集,為解決互聯網背景下大數據研究的源數據獲取問題提供了一種新的解決方案。需要說明的是,本文所提的網絡數據采集方法還僅是一種新的嘗試,離完善的網絡數據采集工具還有一定的距離,在功能的完整性和可擴展性上還有許多工作要做。

參考文獻

[1] Snijders C, Matzat U, Reips U. “Big Data”: Big Gaps of Knowledge in the Field of Internet Science[J]. International Journal of Internet Science, 2012,7(1):1-5.

[2] 夏冰,高軍,王騰蛟,等.一種高效的動態腳本網站有效頁面獲取方法[J]. 軟件學報,2009,20(S1):176-183.

[3] 孫青云, 王俊峰,趙宗渠,等.一種基于模擬登錄的微博數據采集方案[J].計算機技術與發展,2014,24(3):6-10.

[4] 紀偉. 微博數據采集系統的設計與實現[D]. 石家莊: 河北科技大學,2013.

[5] Mesbah A, Deursen A V, Lenselink S. Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes[J]. ACM Transactions on the Web, 2012,6(1):1-30.

[6] 劉凡凡. 支持Ajax的定址網絡爬蟲系統的研究與實現[D]. 北京: 北京郵電大學, 2012.

[7] 朱云鵬,馮楓,陳江寧.多策略融合的中文微博數據采集方法[J]. 計算機工程與設計, 2013,34(11):3835-3839.

[8] 人人網開放平臺. 接口調用的配額權限[EB/OL]. 2014-10-21. http://wiki.dev.renren.com/wiki/API_Quota.

[9] Google. Overview of Chrome Extension[EB/OL]. 2014-10-05. https://developer.chrome.com/extensions/overview.

收稿日期:2015-04-01。國家自然科學基金項目(71403134);教育部人文社會科學研究青年基金項目(14YJCZH122);江蘇高校哲學社會科學研究基金項目(2014SJB009)。沈洪洲,講師,主研領域:社會化媒體。

中圖分類號TP302

文獻標識碼A

DOI:10.3969/j.issn.1000-386x.2016.07.003

AN INTERNET DATA COLLECTION METHOD BASED ON CHROME EXTENSION

Shen Hongzhou

(SchoolofManagement,NanjingUniversityofPostsandTelecommunications,Nanjing210023,Jiangsu,China)

AbstractCollecting large amounts of Internet data can provide important data base for relevant scientific research. For the current situation that researchers can’t easily and flexibly collect targeted Internet data, this paper proposes a Chrome extension-based Internet data collection method, which will extract data from a Webpage, or read the structured data directly from Webpage server with Ajax technology, and makes centralised processing and storage for the collected data. The final implementation results indicate that this new method can break through the restrictions of dynamic Webpage technology, avoids the complex logic of user login and supports distributed Internet data collection in multi-user scenarios as well.

KeywordsChrome extensionInternet data collectionAjaxDistributed

猜你喜歡
數據處理程序用戶
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 国产草草影院18成年视频| 亚洲国产精品一区二区第一页免| 日韩国产亚洲一区二区在线观看| 久久这里只有精品国产99| 亚洲欧美成人在线视频| 国产91久久久久久| 秋霞一区二区三区| 无码在线激情片| 国产不卡网| 精品丝袜美腿国产一区| 毛片一级在线| 国产国模一区二区三区四区| 四虎永久在线| 成人一级黄色毛片| 一级毛片在线免费看| 久久网综合| 欧美日本在线| 精品国产免费观看一区| 欧美a在线视频| 国产精品久久久久久久伊一| 亚洲天堂伊人| 成人欧美在线观看| 欧美中文字幕第一页线路一| 久视频免费精品6| 亚洲色图综合在线| 欧美区在线播放| 原味小视频在线www国产| 露脸一二三区国语对白| 久久婷婷六月| 日本道中文字幕久久一区| 青青草国产免费国产| 久久久久亚洲AV成人网站软件| 国产在线观看一区精品| 亚洲中字无码AV电影在线观看| 动漫精品中文字幕无码| 超碰免费91| 在线观看免费人成视频色快速| 国产91透明丝袜美腿在线| 高清无码一本到东京热| 久久人搡人人玩人妻精品 | 色噜噜狠狠色综合网图区| 人人爽人人爽人人片| 亚洲成年人片| 久久a级片| 国产91导航| 国产精品.com| 一级毛片免费观看久| 福利在线不卡一区| 久久国产香蕉| 欧美国产日产一区二区| 成人欧美日韩| 青青网在线国产| 日本尹人综合香蕉在线观看 | 国产精品99久久久久久董美香| 免费高清毛片| 亚洲AV色香蕉一区二区| 人妻精品全国免费视频| 国产视频入口| 怡红院美国分院一区二区| 在线观看免费黄色网址| AV无码无在线观看免费| 中文字幕资源站| 亚洲一区二区三区国产精品| 国产亚洲高清视频| 国产原创演绎剧情有字幕的| 国产精品免费电影| 黄色网页在线播放| 中文字幕乱码二三区免费| AV熟女乱| 亚洲精品国产成人7777| 国产一区二区福利| 久久久久国产一级毛片高清板| 亚洲午夜福利精品无码| 久久99国产精品成人欧美| 国产区网址| 国产一级二级三级毛片| 国产丝袜第一页| 亚洲三级片在线看| 国产在线第二页| 久久综合亚洲鲁鲁九月天| 欧美成人第一页| 第一区免费在线观看|