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

    基于Scrapy的水利數(shù)據(jù)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn)

    2020-07-09 21:53:20游攀利楊琳喻淼
    水利水電快報(bào) 2020年5期
    關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng)數(shù)據(jù)采集

    游攀利 楊琳 喻淼

    摘要:為解決目前各級(jí)水利部門(mén)數(shù)據(jù)共享能力弱、數(shù)據(jù)格式不統(tǒng)一的問(wèn)題,建立了一種水利數(shù)據(jù)整合方法。針對(duì)互聯(lián)網(wǎng)公開(kāi)的水利數(shù)據(jù)特點(diǎn),結(jié)合水利行業(yè)標(biāo)準(zhǔn)規(guī)范,介紹了基于Scrapy框架設(shè)計(jì)和開(kāi)發(fā)的水利數(shù)據(jù)爬蟲(chóng),并規(guī)范化存儲(chǔ)數(shù)據(jù)。在總結(jié)各種水利數(shù)據(jù)的獲取和解析原理及方法基礎(chǔ)上,提出了使用Scra-pyd部署爬蟲(chóng)和SpiderKeeper管理爬蟲(chóng)的方法,并成功應(yīng)用于長(zhǎng)江大數(shù)據(jù)中心的建設(shè),為水雨情預(yù)警、防汛抗旱、應(yīng)急管理提供了重要支持。

    關(guān)鍵詞:水利數(shù)據(jù);網(wǎng)絡(luò)爬蟲(chóng);Scrapy;數(shù)據(jù)采集

    中圖法分類(lèi)號(hào):TP391

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

    DOI:10. 15974/j .cnki.slsdkb.2020.05.014

    水利信息化經(jīng)過(guò)多年的發(fā)展,全國(guó)各水利廳局及流域機(jī)構(gòu)積累了大量的水利數(shù)據(jù),包括水雨情數(shù)據(jù)、水質(zhì)數(shù)據(jù)、水澇災(zāi)害數(shù)據(jù)、遙感數(shù)據(jù)、防汛抗旱知識(shí)和應(yīng)急管理知識(shí)等,這些數(shù)據(jù)可為防汛抗旱決策支持、水利工程建設(shè)、水文水資源研究等提供重要支持[1]。然而,水利數(shù)據(jù)分散在各水利機(jī)構(gòu)內(nèi),結(jié)構(gòu)復(fù)雜、種類(lèi)繁多,即便是同一種類(lèi)的業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)也有所差異,阻礙了水利數(shù)據(jù)的開(kāi)發(fā)、利用與研究。因此,本文從各水利政務(wù)網(wǎng)站的公開(kāi)數(shù)據(jù)人手,結(jié)合水利部發(fā)布的數(shù)據(jù)庫(kù)規(guī)范設(shè)計(jì)數(shù)據(jù)庫(kù)表,以水雨情數(shù)據(jù)為例,基于爬蟲(chóng)框架Scrapy設(shè)計(jì)和開(kāi)發(fā)水利爬蟲(chóng),著重介紹了各種水雨情網(wǎng)頁(yè)的獲取和解析過(guò)程,包括Scrapy Selector CSS選擇器解析HTML結(jié)構(gòu)數(shù)據(jù)、正則表達(dá)式解析JavaScript數(shù)據(jù)、獲取和解析Ajax數(shù)據(jù)、Selenium結(jié)合瀏覽器驅(qū)動(dòng)解析網(wǎng)頁(yè)加密數(shù)據(jù)等;并對(duì)爬取的數(shù)據(jù)進(jìn)行規(guī)范化存儲(chǔ),最后使用SpiderKeeper對(duì)分布于不同服務(wù)器的爬蟲(chóng)進(jìn)行統(tǒng)一管理。

    1 網(wǎng)絡(luò)爬蟲(chóng)

    網(wǎng)絡(luò)爬蟲(chóng)( web crawler),又稱(chēng)作網(wǎng)絡(luò)機(jī)器人(web robot)或網(wǎng)絡(luò)蜘蛛(web spider),是以一定的規(guī)則自動(dòng)抓取互聯(lián)網(wǎng)資源的計(jì)算機(jī)應(yīng)用程序[2]。網(wǎng)絡(luò)爬蟲(chóng)通常由調(diào)度器( scheduler)、下載器(download-er)、解析器(parser)、待爬行隊(duì)列(URL queue)4個(gè)部分組成,如圖1所示[3-4]。調(diào)度器首先將設(shè)定的初始URL傳遞給下載器,下載器從互聯(lián)網(wǎng)下載信息并傳給解析器,解析器根據(jù)既定規(guī)則提取信息和待爬取的URL,提取的信息經(jīng)處理后存人數(shù)據(jù)庫(kù)或文件,URL經(jīng)去重后傳輸給待爬行隊(duì)列.等待調(diào)度器調(diào)用,循環(huán)往復(fù)[5-7]。

    網(wǎng)絡(luò)爬蟲(chóng)分為通用( General Purpose)網(wǎng)絡(luò)爬蟲(chóng)和聚焦(Focused)網(wǎng)絡(luò)爬蟲(chóng)[8]。通用網(wǎng)絡(luò)爬蟲(chóng)又稱(chēng)作全網(wǎng)爬蟲(chóng),爬取整個(gè)互聯(lián)網(wǎng)資源以供搜索引擎建立索引;聚焦網(wǎng)絡(luò)爬蟲(chóng)又稱(chēng)作主題網(wǎng)絡(luò)爬蟲(chóng),爬取用戶需要的特定主題網(wǎng)頁(yè)(經(jīng)相關(guān)網(wǎng)站許可)收集數(shù)據(jù),并在標(biāo)注出處的前提下加以數(shù)據(jù)分析、用于建模及展示。水雨情爬蟲(chóng)為聚焦網(wǎng)絡(luò)爬蟲(chóng),目標(biāo)是爬取各級(jí)水利部門(mén)網(wǎng)站公開(kāi)的水雨情信息。

    網(wǎng)絡(luò)爬蟲(chóng)技術(shù)伴隨著搜索引擎共同發(fā)展,在網(wǎng)絡(luò)爬蟲(chóng)發(fā)展初期,開(kāi)發(fā)者需考慮很多底層功能的實(shí)現(xiàn),例如,模擬HTTP請(qǐng)求、下載網(wǎng)頁(yè)、解析數(shù)據(jù)、隊(duì)列管理等。搜索引擎面對(duì)的問(wèn)題日趨復(fù)雜,促使爬蟲(chóng)程序的編寫(xiě)難度越來(lái)越大。為了提高爬蟲(chóng)的編寫(xiě)效率,逐漸出現(xiàn)了網(wǎng)絡(luò)請(qǐng)求庫(kù)urllib、urllib2、re-quests等和解析庫(kù)Xpath、Beautiful Soup、pyquery等,進(jìn)而抽象出模塊的概念,有了爬蟲(chóng)框架的雛形。此時(shí),開(kāi)發(fā)者雖不需考慮這些常用模塊的實(shí)現(xiàn),但仍需考慮爬蟲(chóng)的流程、異常處理及任務(wù)調(diào)度等。對(duì)于今后進(jìn)一步出現(xiàn)的pyspider、scrapy等爬蟲(chóng)框架,開(kāi)發(fā)者只需考慮爬蟲(chóng)的業(yè)務(wù)邏輯部分。而且,pyspi-der、scrapy的可配置性更高,異常處理能力更強(qiáng),故水利數(shù)據(jù)采集系統(tǒng)采用scrapy作為爬蟲(chóng)框架。

    2 Scrapy框架

    Scrapy是使用Python語(yǔ)言實(shí)現(xiàn)的一種爬蟲(chóng)框架,它將網(wǎng)絡(luò)爬蟲(chóng)工程化、模塊化,幫助開(kāi)發(fā)人員方便地構(gòu)建網(wǎng)絡(luò)請(qǐng)求、解析網(wǎng)頁(yè)響應(yīng),從而快速實(shí)現(xiàn)特定業(yè)務(wù)的爬蟲(chóng)[8-9]。Scrapy基于Twisted異步網(wǎng)絡(luò)庫(kù)處理網(wǎng)絡(luò)通訊,實(shí)現(xiàn)了分布式爬取。

    2.1 Scrapy組件

    Scrapy爬蟲(chóng)框架結(jié)構(gòu)如圖2所示[10],包括以下6個(gè)主要組件:

    (1)Scrapy引擎(engine)。負(fù)責(zé)控制數(shù)據(jù)在組件中流動(dòng),并在相應(yīng)動(dòng)作發(fā)生時(shí)觸發(fā)事件,是整個(gè)框架的核心。

    (2)調(diào)度器。從Scrapy引擎接受請(qǐng)求,并將其加入到隊(duì)列中,以便之后請(qǐng)求它們時(shí)提供。

    (3)下載器。接受請(qǐng)求,負(fù)責(zé)獲取數(shù)據(jù)并提供給引擎,而后提供給爬蟲(chóng)。

    (4)爬蟲(chóng)。用戶編寫(xiě)的針對(duì)特定業(yè)務(wù)的爬蟲(chóng)程序,定義了初始請(qǐng)求網(wǎng)址、網(wǎng)頁(yè)的爬取邏輯和解析規(guī)則,用于發(fā)起初始請(qǐng)求和解析返回的數(shù)據(jù)并提取項(xiàng)目(Item,定義了爬取結(jié)果的數(shù)據(jù)結(jié)構(gòu),可對(duì)應(yīng)web開(kāi)發(fā)中的實(shí)體類(lèi))和生成新的請(qǐng)求,每個(gè)爬蟲(chóng)負(fù)責(zé)處理某個(gè)特定或一些網(wǎng)站。

    (5)項(xiàng)目管道(Item Pipeline)。負(fù)責(zé)處理爬蟲(chóng)提取出來(lái)的項(xiàng)目,典型的處理有數(shù)據(jù)清洗、驗(yàn)證數(shù)據(jù)完整性、數(shù)據(jù)重復(fù)及數(shù)據(jù)持久化(例如按指定格式保存到文件或存取到數(shù)據(jù)庫(kù)中)。

    (6)中間件(middleware)。包括下載器中間件( downloader middleware)和爬蟲(chóng)中間件(spider mid-dleware)。下載器中間件是在引擎與下載器之間的特定鉤子( specific hook),主要處理引擎發(fā)過(guò)來(lái)的請(qǐng)求,用戶可編寫(xiě)程序擴(kuò)展Scrapy的功能,以自定義的方式協(xié)調(diào)下載器的工作;爬蟲(chóng)中間件是在引擎與爬蟲(chóng)之間的特定鉤子,處理爬蟲(chóng)的輸入響應(yīng)(response)和輸出條目及請(qǐng)求。同下載器中間件一樣,用戶可擴(kuò)展Scrapy功能,以協(xié)調(diào)爬蟲(chóng)工作。

    2.2 Scrapy數(shù)據(jù)流

    Scrapy的數(shù)據(jù)流向是由引擎控制的,數(shù)據(jù)流動(dòng)的過(guò)程如下:

    (1)引擎找到處理該網(wǎng)站的爬蟲(chóng),向爬蟲(chóng)請(qǐng)求初始要爬取的URL,根據(jù)URL解析域名。

    (2)引擎從爬蟲(chóng)中獲取到第一個(gè)要爬取的URL,并通過(guò)調(diào)度器以請(qǐng)求的形式調(diào)度。

    (3)引擎向調(diào)度器請(qǐng)求下一個(gè)要爬取的URL。

    (4)調(diào)度器返回下一個(gè)要爬取的URL給引擎,引擎將URL通過(guò)下載器中間件轉(zhuǎn)發(fā)給下載器。

    (5)-旦頁(yè)面下載完畢,下載器生成該頁(yè)面的響應(yīng),并將其通過(guò)下載器中間件發(fā)送給引擎。

    (6)引擎從下載器處接收到響應(yīng),并通過(guò)爬蟲(chóng)中間件發(fā)送給爬蟲(chóng)處理。

    (7)爬蟲(chóng)處理響應(yīng),解析數(shù)據(jù)并封裝成條目,返回條目及新的請(qǐng)求給引擎。

    (8)引擎將爬蟲(chóng)返回的條目給項(xiàng)目管道處理,將新的請(qǐng)求加入到調(diào)度器的待爬隊(duì)列中。

    (9)重復(fù)步驟(2)~(8),直到調(diào)度器中沒(méi)有請(qǐng)求,待爬隊(duì)列為空,或者滿足自定義的停止條件,引擎則關(guān)閉該網(wǎng)站,爬行結(jié)束。

    通過(guò)多個(gè)組件的分工協(xié)作、組件對(duì)異步處理的支持,Scrapy充分利用了帶寬,提高了數(shù)據(jù)爬取效率。

    3 水雨情爬蟲(chóng)設(shè)計(jì)

    3.1 網(wǎng)頁(yè)獲取

    爬蟲(chóng)設(shè)計(jì)的首要工作即是得到獲取目標(biāo)數(shù)據(jù)的網(wǎng)絡(luò)請(qǐng)求。訪問(wèn)水雨情網(wǎng)頁(yè),查看網(wǎng)頁(yè)的源代碼會(huì)發(fā)現(xiàn),其中可能根本不存在水雨情數(shù)據(jù),這是因?yàn)楝F(xiàn)在很多網(wǎng)頁(yè)是由JavaScript渲染出來(lái),原始的HTML代碼可能只是一個(gè)僅有水雨情表頭的表格。向網(wǎng)站發(fā)送一個(gè)HTTP請(qǐng)求,返回的就是網(wǎng)頁(yè)源代碼。綜合分析各級(jí)水利部門(mén)網(wǎng)站公開(kāi)的水雨情網(wǎng)頁(yè),存在以下幾種情況。

    (1)網(wǎng)頁(yè)源代碼中的HTML代碼包含目標(biāo)數(shù)據(jù),該網(wǎng)頁(yè)的URL就是獲取目標(biāo)數(shù)據(jù)的URL;

    (2)網(wǎng)頁(yè)源代碼中的JavaScript代碼包含目標(biāo)數(shù)據(jù),該網(wǎng)頁(yè)的URL就是獲取目標(biāo)數(shù)據(jù)的URL;

    (3)網(wǎng)頁(yè)源代碼不包含目標(biāo)數(shù)據(jù),通過(guò)Ajax加載數(shù)據(jù)渲染網(wǎng)頁(yè),Ajax請(qǐng)求的URL即是獲取目標(biāo)數(shù)據(jù)的URL;

    (4)網(wǎng)頁(yè)源代碼不包含目標(biāo)數(shù)據(jù),通過(guò)JavaS-cript算法生成數(shù)據(jù)渲染網(wǎng)頁(yè),該網(wǎng)頁(yè)的URL即是獲取目標(biāo)數(shù)據(jù)的URL;

    (5)網(wǎng)頁(yè)源代碼不包含目標(biāo)數(shù)據(jù),網(wǎng)頁(yè)數(shù)據(jù)被加密,該網(wǎng)頁(yè)的URL即是獲取目標(biāo)數(shù)據(jù)的URL;

    (6)網(wǎng)頁(yè)源代碼不包含目標(biāo)數(shù)據(jù),而是使用if-rame嵌入另一個(gè)HTML網(wǎng)頁(yè)展示數(shù)據(jù),這種情況下,為了確認(rèn)獲取目標(biāo)數(shù)據(jù)的URL,需再次分析,以確定是上述(1)~(5)中的哪種情況。

    3.2 數(shù)據(jù)解析

    確定獲取目標(biāo)數(shù)據(jù)的URL之后,使用Scrapy模擬HTTP請(qǐng)求,對(duì)返回的響應(yīng)數(shù)據(jù)進(jìn)行解析。根據(jù)響應(yīng)的不同,解析方式也不同。對(duì)于3.1節(jié)中的情況(l),需要解析的是HTML結(jié)構(gòu)數(shù)據(jù),使用Scrapy的Selector CSS選擇器進(jìn)行解析;對(duì)于情況(2),由于JavaScript數(shù)據(jù)不是結(jié)構(gòu)化的,通常使用正則表達(dá)式進(jìn)行解析;對(duì)于情況(3),需要解析的是JSON數(shù)據(jù);對(duì)于情況(4)和(5),通常JavaScript的算法規(guī)律并不容易找到,即使找到,花費(fèi)的時(shí)間代價(jià)太大,若網(wǎng)頁(yè)數(shù)據(jù)加密,分析難度更大,所以這兩種情況通常采用Selenium或PhantomjS來(lái)驅(qū)動(dòng)瀏覽器加載網(wǎng)頁(yè),直接獲得JavaScript渲染后的網(wǎng)頁(yè),做到“可見(jiàn)即可爬”,接下來(lái)解析HTML結(jié)構(gòu)數(shù)據(jù)即可,與(1)的解析方式相同[11]。對(duì)于情況(6),iframe嵌入網(wǎng)頁(yè)的數(shù)據(jù)解析,只需分析iframe嵌入的網(wǎng)頁(yè)源代碼即可,后續(xù)步驟與(1)~(5)相同。具體的數(shù)據(jù)解析如下。

    (1)HTML結(jié)構(gòu)數(shù)據(jù)解析。以重慶水利水務(wù)網(wǎng)“水文管理”模塊下的“今日八時(shí)水情”(URL為http: //slj .cq.gov.cn/swxx/jrbssq/Pages/Default.aspx)為例,如圖3所示。查看源代碼,發(fā)現(xiàn)目標(biāo)數(shù)據(jù)已包含在HTML代碼結(jié)構(gòu)中,可利用CSS選擇器進(jìn)行解析。例如使用Scrapy shell提取寸灘和武隆水文站的水位數(shù)據(jù),可分別使用如下代碼進(jìn)行提取,如圖4所示。

    需要注意的是,由于代表站占據(jù)了第2行的第1列,所以寸灘的水位數(shù)據(jù)在第2行的第5列,而武隆的水位數(shù)據(jù)在第4行的第4列。

    (2)JavaScript數(shù)據(jù)解析。以長(zhǎng)江水文網(wǎng)的“實(shí)時(shí)水情”(http://www.cjh.com.cn/)為例,如圖5所示。分析網(wǎng)頁(yè)的源代碼,目標(biāo)數(shù)據(jù)是通過(guò)標(biāo)簽嵌入的URL(http://www.cjh.com.cn/sqindex.html)加載的,分析此HTML的源代碼,發(fā)現(xiàn)目標(biāo)數(shù)據(jù)包含在Ja-vaScript代碼中(見(jiàn)圖6),其作為一個(gè)JSON字符串賦值給了一個(gè)JS變量,這種情況使用正則表達(dá)式獲取目標(biāo)數(shù)據(jù)最為方便,如圖7所示。

    (3)Ajax數(shù)據(jù)解析。以湖北省水利廳網(wǎng)站的“水旱災(zāi)害防御”模塊的“江河水情”欄目(http://113.57.190.228: 8001/web/Report/RiverReport)為例,該欄目展示了湖北省56個(gè)河道水文站當(dāng)天08:00的水位、流量信息,如圖8所示。目標(biāo)是從表格中解析出實(shí)時(shí)數(shù)據(jù)(水位、流量)和防洪指標(biāo)數(shù)據(jù)(設(shè)防水位、警戒水位和歷史最高水位),查看江河水情網(wǎng)頁(yè)的源代碼發(fā)現(xiàn)表格中并沒(méi)有相關(guān)數(shù)據(jù)。打開(kāi)Chrome開(kāi)發(fā)工具.選擇Network選項(xiàng)卡,通過(guò)XHR篩選出Ajax請(qǐng)求,選定請(qǐng)求,點(diǎn)擊Headers可查看請(qǐng)求和響應(yīng)的頭部詳情。分析可知,請(qǐng)求類(lèi)型為GET,請(qǐng)求URL為http://113.57.190.228: 8001/Web/Report/GetRiverData? date=2019-11-11+08%3AOO,請(qǐng)求的參數(shù)只有1個(gè)date,參數(shù)值經(jīng)過(guò)了HTML URL編碼,表示的是ASCII字符“:”,所以真實(shí)的參數(shù)值為:2019-10-30 08:00。據(jù)此,可以使用Scrapy模擬Ajax請(qǐng)求,如需獲取歷史數(shù)據(jù),只需要按照一定規(guī)則改變date參數(shù)即可。點(diǎn)擊Preview可預(yù)覽返回的JSON數(shù)據(jù),如圖9所示,對(duì)照網(wǎng)頁(yè)數(shù)據(jù)可知每個(gè)字段的業(yè)務(wù)意義。

    (4)加密網(wǎng)頁(yè)數(shù)據(jù)解析。以江蘇水情信息(http://221.226.28.67:88/jsswxxSSI/Web/Default.ht-ml? m=2)為例,使用如圖10所示代碼即可獲取表格數(shù)據(jù)。后續(xù)使用HTML結(jié)構(gòu)數(shù)據(jù)解析方法即可,不再贅述。

    3.3 爬取對(duì)象定義

    Scrapy的條目類(lèi)用來(lái)定義爬取的對(duì)象。綜合分析各級(jí)水利部門(mén)網(wǎng)站公開(kāi)的河道水情信息,并結(jié)合水利部發(fā)布的SL323-2001《實(shí)時(shí)水雨情數(shù)據(jù)庫(kù)表結(jié)構(gòu)與標(biāo)識(shí)符》數(shù)據(jù)庫(kù)規(guī)范,對(duì)于河道水文站爬蟲(chóng),用StRiverltem定義爬取對(duì)象,需定義的屬性有:測(cè)站編碼、時(shí)間、測(cè)站名稱(chēng)、河流名稱(chēng)、水位、流量、設(shè)防水位、警戒水位、保證水位和歷史最高水位。

    3.4 數(shù)據(jù)存儲(chǔ)

    爬蟲(chóng)將解析的數(shù)據(jù)封裝成條目之后交給項(xiàng)目管道,進(jìn)行數(shù)據(jù)持久化。數(shù)據(jù)持久化的方式有多種,可直接本地化存儲(chǔ)為文件,如TXT、CSV、JSON等,也可保存至Oracle、MySQL等關(guān)系型數(shù)據(jù)庫(kù)或者M(jìn)ongoDB、Redis等非關(guān)系型數(shù)據(jù)庫(kù)。本文采用MySQL,根據(jù)爬蟲(chóng)對(duì)象StRiverltem設(shè)計(jì)河道水情數(shù)據(jù)表結(jié)構(gòu),如表1所示。

    爬取的數(shù)據(jù)保存至MySQL數(shù)據(jù)庫(kù),結(jié)果如圖11所示。

    3.5 異常處理

    爬蟲(chóng)執(zhí)行一段時(shí)間后,可能會(huì)出現(xiàn)“403 Forbid-den”的錯(cuò)誤,這是因?yàn)镮P訪問(wèn)頻率過(guò)高,網(wǎng)站采取了反爬措施,檢測(cè)到某個(gè)IP單位時(shí)間內(nèi)訪問(wèn)次數(shù)超過(guò)某個(gè)設(shè)定的閾值,就會(huì)拒絕服務(wù)。解決辦法包括使用代理和降低訪問(wèn)頻率,鑒于水利數(shù)據(jù)每天更新數(shù)量不多,可采用降低訪問(wèn)頻率辦法采集歷史數(shù)據(jù),在采集一個(gè)時(shí)間段的數(shù)據(jù)后,程序停頓1-2 s。如果采集的是實(shí)時(shí)數(shù)據(jù),水文網(wǎng)站每天更新的數(shù)據(jù)量并不多,通常不會(huì)出現(xiàn)訪問(wèn)頻率過(guò)高的問(wèn)題。

    網(wǎng)站反爬的措施還包括登錄、驗(yàn)證碼和返回動(dòng)態(tài)網(wǎng)頁(yè)等。水雨情等水利數(shù)據(jù)通常是公開(kāi)的,無(wú)需登陸和輸入驗(yàn)證碼即可訪問(wèn)。如果確有登錄和驗(yàn)證碼的要求,需在爬蟲(chóng)業(yè)務(wù)邏輯內(nèi)增加登陸模塊,并使用圖象識(shí)別或接入打碼平臺(tái)進(jìn)行驗(yàn)證碼識(shí)別,成功登陸后獲取cookies信息再對(duì)數(shù)據(jù)進(jìn)行處理。若服務(wù)器返回的是動(dòng)態(tài)網(wǎng)頁(yè),使用前述Selenium進(jìn)行處理,不再贅述。

    4 系統(tǒng)部署

    在完成Scrapy爬蟲(chóng)程序的編寫(xiě)和測(cè)試之后,將其部署在Scrapyd服務(wù)器中。Scrapyd是由Scrapy官方提供的用于部署Scrapy爬蟲(chóng)的服務(wù),用戶可通過(guò)它提供的HTTP JSON API控制爬蟲(chóng)。Scrapyd本身提供了一個(gè)簡(jiǎn)單的UI界面,用戶使用任何1臺(tái)能連接到Scrapyd服務(wù)器的計(jì)算機(jī)即可上傳、啟動(dòng)、停止爬蟲(chóng)并查看運(yùn)行日志,而不必登錄到Scrapyd服務(wù)器。但是,這個(gè)界面過(guò)于簡(jiǎn)單,且1臺(tái)Scrapyd服務(wù)器僅有1個(gè)界面,多臺(tái)即有多個(gè)界面,不能進(jìn)行統(tǒng)一管理。

    水利數(shù)據(jù)涉及主題非常多,對(duì)應(yīng)的爬蟲(chóng)數(shù)量很大。為了提高爬蟲(chóng)的性能,通常將不同業(yè)務(wù)的爬蟲(chóng)部署在不同的Scrapyd服務(wù)器上。為了實(shí)現(xiàn)對(duì)爬蟲(chóng)的統(tǒng)一管理,要使用SpiderKeeper和Scrapyweb,兩者均可實(shí)現(xiàn)一鍵部署和定時(shí)任務(wù),都是對(duì)Scrapyd提供的接口的二次封裝。SpiderKeeper是一款可擴(kuò)展的爬蟲(chóng)服務(wù)可視化管理工具,可快速向多個(gè)Scrapyd服務(wù)器部署爬蟲(chóng),監(jiān)控爬蟲(chóng)執(zhí)行情況,通過(guò)儀表盤(pán)管理爬蟲(chóng),并定制運(yùn)行策略。Scrapyweb比SpiderKeep-er功能更豐富(例如異常情況郵件通知),但穩(wěn)定性不及SpiderKeeper,SpiderKeeper可以應(yīng)付大規(guī)模的爬蟲(chóng)集群。本文采用SpiderKeeper對(duì)爬蟲(chóng)進(jìn)行統(tǒng)一管理。

    使用SpiderKeeper設(shè)置爬蟲(chóng)分兩步,首先創(chuàng)建一個(gè)條目,然后添加1個(gè)定時(shí)任務(wù),如圖12所示。1個(gè)爬蟲(chóng)對(duì)應(yīng)1個(gè)定時(shí)任務(wù),定時(shí)策略又根據(jù)業(yè)務(wù)數(shù)據(jù)的發(fā)布情況決定,如圖13所示。完成對(duì)所有爬蟲(chóng)的設(shè)置之后,可對(duì)爬蟲(chóng)進(jìn)行關(guān)閉、運(yùn)行一次和刪除操作,如圖14所示。

    5 結(jié)語(yǔ)

    本研究基于Scrapy的水利數(shù)據(jù)爬取,以水雨情為例,將各水利廳局及流域機(jī)構(gòu)公開(kāi)的水雨情數(shù)據(jù)解析分為HTML結(jié)構(gòu)數(shù)據(jù)、JavaScript數(shù)據(jù)、Ajax數(shù)據(jù)和加密數(shù)據(jù)4類(lèi)。詳細(xì)介紹了解析方法和原理,并將提取到的水雨情數(shù)據(jù)進(jìn)行規(guī)范化存儲(chǔ),可為水利一張圖和使用大數(shù)據(jù)方法研究水雨情預(yù)警、防汛抗旱、應(yīng)急管理提供數(shù)據(jù)支持。

    參考文獻(xiàn):

    [1] 張馳恒一.基于多數(shù)據(jù)源的水利數(shù)據(jù)獲取及大數(shù)據(jù)服務(wù)[D].西安:西安理工大學(xué),2018.

    [2]Castillo C.Effective web crawling[Jl. ACM SIGIR Fo- rum, 2005 .39(1): 55-56.

    [3]劉金紅,陸余良.主題網(wǎng)絡(luò)爬蟲(chóng)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2007,24(10):26-29.

    [4]周德懋,李舟軍.高性能網(wǎng)絡(luò)爬蟲(chóng):研究綜述[J].計(jì)算機(jī)科學(xué),2009,36(8):26-29.

    [5]于娟,劉強(qiáng).主題網(wǎng)絡(luò)爬蟲(chóng)研究綜述[J]計(jì)算機(jī)工程與科學(xué),2015,37(2):231-237.

    [6]Rungsawang A,Angkawattanawit N.Learnable Lopic-spe-cific web crawler[J].Journal of Network&Computer Ap-plications, 2005, 28(2): 97-114.

    [7] Kozanidis L.An Ontology-Based Focused Crawler[Cl//Intemational Conference on Natural Language and Infor-mation Systems: Applications of Natural Language to In-formation Systems. Springer-Verlag, 2008: 376-379.

    [8]李喬宇,尚明華,王富軍,等.基于Scrapy的農(nóng)業(yè)網(wǎng)絡(luò)數(shù)據(jù)爬取[J].山東農(nóng)業(yè)科學(xué)報(bào),2018,50(1):142-147.

    [9] 馬聯(lián)帥.基于Scrapy的分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2015.

    [10]

    Scrapy developers. Scrapy Architecture overview[DB/OL].

    https: //doc.scrapy.org/en/latest/topics/architecture. html, 2018。

    [11]杜彬.基于Selenium的定向網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn)[J]金融科技時(shí)代,2016(7):35-39.

    (編輯:李慧)

    作者簡(jiǎn)介:游攀利,男,工程師,碩士,主要從水利信息化建設(shè)及軟件開(kāi)發(fā)工作。E-mail: youpanli@cjwsjy.com.cn

    猜你喜歡
    網(wǎng)絡(luò)爬蟲(chóng)數(shù)據(jù)采集
    煉鐵廠鐵量網(wǎng)頁(yè)數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
    大數(shù)據(jù)時(shí)代高校數(shù)據(jù)管理的思考
    科技視界(2016年18期)2016-11-03 22:51:40
    鐵路客流時(shí)空分布研究綜述
    基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
    軟件工程(2016年8期)2016-10-25 15:54:18
    通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    軟件工程(2016年8期)2016-10-25 15:52:53
    基于開(kāi)源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)研究
    基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁(yè)挖掘研究
    主題搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)的實(shí)現(xiàn)研究
    淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲(chóng)流量
    亚洲人成网站高清观看| 亚洲欧美日韩卡通动漫| 99久久人妻综合| 精品少妇久久久久久888优播| 黄片wwwwww| 欧美xxⅹ黑人| 欧美老熟妇乱子伦牲交| 免费在线观看成人毛片| 亚洲av电影在线观看一区二区三区| 在线观看av片永久免费下载| 熟女av电影| 国产深夜福利视频在线观看| av不卡在线播放| 国产视频首页在线观看| 在线观看免费日韩欧美大片 | 网址你懂的国产日韩在线| 中文字幕亚洲精品专区| 18禁在线无遮挡免费观看视频| 亚洲伊人久久精品综合| 午夜福利在线观看免费完整高清在| 在线播放无遮挡| 男人狂女人下面高潮的视频| 久久99热这里只频精品6学生| 欧美日韩精品成人综合77777| 人人妻人人澡人人爽人人夜夜| 免费少妇av软件| 少妇人妻精品综合一区二区| 我要看日韩黄色一级片| 黄片wwwwww| 国产女主播在线喷水免费视频网站| 日日摸夜夜添夜夜添av毛片| 国产爽快片一区二区三区| 国产亚洲精品久久久com| 搡老乐熟女国产| 黑人高潮一二区| 汤姆久久久久久久影院中文字幕| 五月开心婷婷网| 中文字幕久久专区| 女的被弄到高潮叫床怎么办| 国语对白做爰xxxⅹ性视频网站| 国产精品99久久99久久久不卡 | 国产精品欧美亚洲77777| 少妇丰满av| 少妇丰满av| 国产精品无大码| 少妇高潮的动态图| 久久久久久久亚洲中文字幕| 久久精品久久久久久久性| 日韩免费高清中文字幕av| 舔av片在线| 久久久久久久久大av| 日本av免费视频播放| 国产av精品麻豆| 亚洲在久久综合| 少妇精品久久久久久久| 久久人人爽人人片av| 亚洲va在线va天堂va国产| 国产精品女同一区二区软件| 99久久中文字幕三级久久日本| 亚洲欧美日韩无卡精品| 国产熟女欧美一区二区| 中国美白少妇内射xxxbb| 在线观看人妻少妇| 国产精品久久久久久久久免| 亚洲综合精品二区| 欧美性感艳星| 97超视频在线观看视频| 哪个播放器可以免费观看大片| 纵有疾风起免费观看全集完整版| 一个人看视频在线观看www免费| 精品久久久噜噜| 亚洲av不卡在线观看| 亚洲欧美一区二区三区国产| 美女福利国产在线 | 久久久久人妻精品一区果冻| 视频区图区小说| 永久免费av网站大全| 国产精品一区二区三区四区免费观看| 精品一区二区三卡| 精品人妻一区二区三区麻豆| 久久精品国产亚洲网站| 国产在视频线精品| 男女边吃奶边做爰视频| 美女国产视频在线观看| 国产精品福利在线免费观看| 寂寞人妻少妇视频99o| 日韩国内少妇激情av| 国产伦精品一区二区三区四那| 久久精品国产a三级三级三级| 麻豆乱淫一区二区| 一级毛片我不卡| 亚洲av电影在线观看一区二区三区| 国产欧美另类精品又又久久亚洲欧美| 美女主播在线视频| 国产爱豆传媒在线观看| 肉色欧美久久久久久久蜜桃| 尾随美女入室| 久久久久久久亚洲中文字幕| av线在线观看网站| 特大巨黑吊av在线直播| 51国产日韩欧美| 精品久久久久久久末码| 国产精品爽爽va在线观看网站| 亚洲精品色激情综合| 国产精品成人在线| 国产永久视频网站| 全区人妻精品视频| 亚洲国产日韩一区二区| 日韩欧美一区视频在线观看 | 国产精品久久久久久精品电影小说 | 精品久久久久久电影网| 只有这里有精品99| 免费观看在线日韩| 国产精品一区二区三区四区免费观看| 午夜免费男女啪啪视频观看| 丝袜喷水一区| 九九爱精品视频在线观看| 久久99热6这里只有精品| 欧美精品亚洲一区二区| 高清毛片免费看| 亚洲欧美成人精品一区二区| 亚洲电影在线观看av| 在线观看一区二区三区| av一本久久久久| 舔av片在线| 插阴视频在线观看视频| 国产成人精品久久久久久| 1000部很黄的大片| 少妇被粗大猛烈的视频| 男女边吃奶边做爰视频| 丰满少妇做爰视频| 成年av动漫网址| 老师上课跳d突然被开到最大视频| 午夜免费观看性视频| 成人亚洲精品一区在线观看 | 不卡视频在线观看欧美| 亚洲经典国产精华液单| 亚洲av中文av极速乱| 草草在线视频免费看| 色哟哟·www| 午夜免费鲁丝| 欧美日韩国产mv在线观看视频 | 交换朋友夫妻互换小说| av免费观看日本| 亚洲av.av天堂| 亚洲国产欧美人成| 天天躁日日操中文字幕| 亚洲综合精品二区| 久久精品国产亚洲网站| 观看免费一级毛片| 赤兔流量卡办理| 不卡视频在线观看欧美| 男人舔奶头视频| 一本色道久久久久久精品综合| 91久久精品国产一区二区三区| 丰满迷人的少妇在线观看| 热99国产精品久久久久久7| 免费黄网站久久成人精品| 精品一区二区三卡| 人妻制服诱惑在线中文字幕| 国产精品一区二区在线观看99| 国产av精品麻豆| 亚洲激情五月婷婷啪啪| 少妇被粗大猛烈的视频| 丰满乱子伦码专区| 天天躁日日操中文字幕| 久久精品国产亚洲网站| 黄色欧美视频在线观看| h日本视频在线播放| 只有这里有精品99| 日本vs欧美在线观看视频 | 亚洲av男天堂| 国产一区亚洲一区在线观看| 成人特级av手机在线观看| av国产精品久久久久影院| 99久国产av精品国产电影| 亚洲人成网站在线播| 美女中出高潮动态图| 岛国毛片在线播放| 三级国产精品欧美在线观看| 国产精品成人在线| 亚洲国产精品专区欧美| 视频中文字幕在线观看| 男人爽女人下面视频在线观看| 嘟嘟电影网在线观看| 久久久久久久亚洲中文字幕| 不卡视频在线观看欧美| 国产精品一区二区性色av| 欧美精品一区二区免费开放| 我的女老师完整版在线观看| 欧美性感艳星| 国产在视频线精品| 午夜精品国产一区二区电影| 少妇精品久久久久久久| 色综合色国产| 男女免费视频国产| 亚洲怡红院男人天堂| 午夜激情久久久久久久| 国产国拍精品亚洲av在线观看| 一区二区三区四区激情视频| 国产黄色视频一区二区在线观看| 成人美女网站在线观看视频| 欧美区成人在线视频| 这个男人来自地球电影免费观看 | 久久久成人免费电影| 亚洲国产欧美人成| 美女福利国产在线 | 夜夜爽夜夜爽视频| 成人高潮视频无遮挡免费网站| 国产精品久久久久久久电影| 日日啪夜夜撸| 我的女老师完整版在线观看| 黄色怎么调成土黄色| 高清欧美精品videossex| 亚洲欧美一区二区三区国产| 久久精品国产a三级三级三级| 免费看光身美女| 亚洲精品视频女| 十分钟在线观看高清视频www | 制服丝袜香蕉在线| 日本色播在线视频| 高清av免费在线| 国产精品女同一区二区软件| 精品一区二区三区视频在线| 国产爽快片一区二区三区| 99久久精品一区二区三区| 久久鲁丝午夜福利片| 交换朋友夫妻互换小说| 日韩伦理黄色片| 久久久国产一区二区| 国精品久久久久久国模美| 男女免费视频国产| 久久精品人妻少妇| 国产男女内射视频| 亚洲精品国产av成人精品| 中文字幕制服av| 精品少妇黑人巨大在线播放| 日韩欧美 国产精品| 亚洲av.av天堂| 久久韩国三级中文字幕| 亚洲高清免费不卡视频| 人妻少妇偷人精品九色| 国产 一区 欧美 日韩| 国产在线免费精品| 亚洲欧美成人综合另类久久久| 午夜免费鲁丝| 久久久久性生活片| 99久久人妻综合| 亚洲在久久综合| 91午夜精品亚洲一区二区三区| 高清日韩中文字幕在线| 校园人妻丝袜中文字幕| 久久久色成人| 99久久人妻综合| 亚洲最大成人中文| 国产黄频视频在线观看| 精品久久国产蜜桃| 18禁裸乳无遮挡免费网站照片| 91精品国产九色| 在线观看一区二区三区激情| 免费看光身美女| 22中文网久久字幕| 日本wwww免费看| 日韩成人av中文字幕在线观看| 免费黄色在线免费观看| 男人添女人高潮全过程视频| 亚洲成人av在线免费| 精华霜和精华液先用哪个| 国产国拍精品亚洲av在线观看| 夜夜骑夜夜射夜夜干| 老熟女久久久| 欧美日本视频| 交换朋友夫妻互换小说| 18禁裸乳无遮挡动漫免费视频| 大片免费播放器 马上看| 亚洲精品456在线播放app| 日韩欧美一区视频在线观看 | 99re6热这里在线精品视频| av播播在线观看一区| 国产精品欧美亚洲77777| 亚洲av免费高清在线观看| 国产久久久一区二区三区| 少妇高潮的动态图| 99热国产这里只有精品6| 精品少妇久久久久久888优播| 麻豆精品久久久久久蜜桃| 亚洲三级黄色毛片| 成人亚洲欧美一区二区av| 国产一区二区三区av在线| 麻豆国产97在线/欧美| 亚洲精品国产av成人精品| 中文字幕亚洲精品专区| 亚洲久久久国产精品| 亚洲av国产av综合av卡| 亚洲欧洲日产国产| 亚洲四区av| 国产久久久一区二区三区| 欧美日本视频| 日韩av在线免费看完整版不卡| 九色成人免费人妻av| 性色avwww在线观看| 欧美日韩亚洲高清精品| 国产伦在线观看视频一区| 国产真实伦视频高清在线观看| 亚洲av电影在线观看一区二区三区| 最近的中文字幕免费完整| 精品久久久噜噜| 国产高潮美女av| 在线观看三级黄色| 在线 av 中文字幕| 午夜免费观看性视频| 午夜福利高清视频| 激情五月婷婷亚洲| 麻豆精品久久久久久蜜桃| 久久av网站| 亚洲天堂av无毛| 国精品久久久久久国模美| 高清毛片免费看| 精品酒店卫生间| 亚洲av男天堂| 夜夜骑夜夜射夜夜干| 精品久久久噜噜| 国内少妇人妻偷人精品xxx网站| 久久99热这里只有精品18| 丰满少妇做爰视频| 老女人水多毛片| 网址你懂的国产日韩在线| 精品久久久久久久久亚洲| 中国国产av一级| 啦啦啦啦在线视频资源| 中国美白少妇内射xxxbb| 亚洲天堂av无毛| 亚洲欧美日韩卡通动漫| 纯流量卡能插随身wifi吗| 国产成人freesex在线| 欧美日韩在线观看h| 久久精品久久精品一区二区三区| 男人狂女人下面高潮的视频| 黄色配什么色好看| 日本wwww免费看| 天天躁日日操中文字幕| av线在线观看网站| 亚洲成人av在线免费| 高清日韩中文字幕在线| 亚洲四区av| 精品亚洲成a人片在线观看 | 日韩av免费高清视频| 亚洲国产色片| 联通29元200g的流量卡| 永久免费av网站大全| 丰满乱子伦码专区| 日本一二三区视频观看| 成人二区视频| 国产精品不卡视频一区二区| 国产精品国产三级国产av玫瑰| 性色av一级| 午夜福利网站1000一区二区三区| 免费看光身美女| 大片电影免费在线观看免费| 一级av片app| 免费观看在线日韩| 黄色怎么调成土黄色| 91精品国产九色| 免费大片黄手机在线观看| 最新中文字幕久久久久| 久久97久久精品| 欧美成人午夜免费资源| 一个人看的www免费观看视频| 我的女老师完整版在线观看| 亚洲婷婷狠狠爱综合网| 少妇 在线观看| 亚洲欧美成人精品一区二区| 亚洲美女黄色视频免费看| 免费观看性生交大片5| 三级国产精品片| 国产在线视频一区二区| av免费在线看不卡| 成年人午夜在线观看视频| 午夜免费男女啪啪视频观看| 中文欧美无线码| 啦啦啦视频在线资源免费观看| 老熟女久久久| 成人毛片60女人毛片免费| 国产精品一区二区在线不卡| 免费看日本二区| 精品酒店卫生间| 亚洲国产精品专区欧美| 日本一二三区视频观看| 夜夜爽夜夜爽视频| 久久久亚洲精品成人影院| 一级二级三级毛片免费看| 亚洲精品国产av蜜桃| 精品熟女少妇av免费看| 少妇的逼好多水| 国产精品国产三级国产专区5o| 免费看不卡的av| 少妇丰满av| 中文字幕精品免费在线观看视频 | 黄色视频在线播放观看不卡| 99国产精品免费福利视频| 美女国产视频在线观看| 国产人妻一区二区三区在| 日韩在线高清观看一区二区三区| 亚洲欧美日韩无卡精品| 少妇猛男粗大的猛烈进出视频| 欧美高清性xxxxhd video| 免费观看在线日韩| 日韩强制内射视频| 香蕉精品网在线| 成人亚洲精品一区在线观看 | 我要看日韩黄色一级片| 国产精品一区www在线观看| 久久亚洲国产成人精品v| 亚洲成人中文字幕在线播放| 美女福利国产在线 | 在线天堂最新版资源| 免费av中文字幕在线| 三级国产精品片| 国产成人freesex在线| 99热国产这里只有精品6| 我要看黄色一级片免费的| 日韩一区二区视频免费看| 欧美精品一区二区大全| 丰满迷人的少妇在线观看| 免费看av在线观看网站| h视频一区二区三区| 国产一区二区三区av在线| 久久国产亚洲av麻豆专区| av线在线观看网站| 欧美精品一区二区大全| 国产精品女同一区二区软件| 久久久久久久久久久丰满| 欧美xxⅹ黑人| 美女福利国产在线 | 人体艺术视频欧美日本| 我的女老师完整版在线观看| 日韩亚洲欧美综合| 99re6热这里在线精品视频| 高清日韩中文字幕在线| 亚洲欧美一区二区三区国产| 日韩,欧美,国产一区二区三区| 99久久中文字幕三级久久日本| 亚洲精品第二区| 九草在线视频观看| 国产精品免费大片| 一级av片app| 伦理电影大哥的女人| 99久久精品热视频| 国产黄色视频一区二区在线观看| 亚洲,欧美,日韩| 日韩中文字幕视频在线看片 | 国产伦理片在线播放av一区| 久久久久精品久久久久真实原创| 麻豆成人午夜福利视频| 免费看光身美女| 日韩av免费高清视频| 久久久久久久国产电影| 我的老师免费观看完整版| 国产黄片视频在线免费观看| 在线观看一区二区三区激情| 日本午夜av视频| 亚洲国产精品成人久久小说| 国产欧美亚洲国产| 各种免费的搞黄视频| 一级av片app| 91久久精品电影网| 久久99热这里只频精品6学生| 在线观看一区二区三区激情| av国产免费在线观看| 亚洲精品日本国产第一区| 国产永久视频网站| av又黄又爽大尺度在线免费看| 久久人人爽人人片av| 肉色欧美久久久久久久蜜桃| 最近中文字幕高清免费大全6| 老女人水多毛片| 婷婷色综合大香蕉| 欧美xxxx性猛交bbbb| 人体艺术视频欧美日本| 日韩成人av中文字幕在线观看| 国产午夜精品一二区理论片| 少妇人妻久久综合中文| 日韩一区二区三区影片| 大话2 男鬼变身卡| videossex国产| 久久精品国产亚洲av涩爱| 一区二区av电影网| 婷婷色综合www| 国产伦在线观看视频一区| 高清av免费在线| 亚洲国产精品国产精品| 91aial.com中文字幕在线观看| 日韩亚洲欧美综合| 五月开心婷婷网| 成人影院久久| 老女人水多毛片| 亚洲天堂av无毛| 欧美xxxx性猛交bbbb| 欧美日韩一区二区视频在线观看视频在线| 国产av国产精品国产| 国产伦理片在线播放av一区| 亚州av有码| 成年av动漫网址| 亚洲精品久久久久久婷婷小说| 国模一区二区三区四区视频| 日韩国内少妇激情av| 亚洲国产欧美人成| 亚洲av成人精品一区久久| 草草在线视频免费看| 国产欧美日韩一区二区三区在线 | 国产成人免费无遮挡视频| 中文字幕久久专区| 亚洲国产欧美在线一区| 亚洲不卡免费看| 国产精品成人在线| 少妇人妻精品综合一区二区| 色网站视频免费| 美女xxoo啪啪120秒动态图| 青春草视频在线免费观看| 草草在线视频免费看| 美女高潮的动态| 亚洲精品乱码久久久久久按摩| 午夜老司机福利剧场| 国产精品99久久久久久久久| 男女国产视频网站| 午夜视频国产福利| 高清日韩中文字幕在线| 久久久久久人妻| 午夜福利在线在线| 亚洲四区av| 色网站视频免费| 国精品久久久久久国模美| 国产又色又爽无遮挡免| 久久人人爽人人爽人人片va| av在线app专区| 日韩伦理黄色片| 干丝袜人妻中文字幕| 亚洲av中文av极速乱| 亚洲精品国产av成人精品| 国产探花极品一区二区| 丰满乱子伦码专区| 欧美一级a爱片免费观看看| www.色视频.com| 丝瓜视频免费看黄片| 欧美日韩精品成人综合77777| 久久久久性生活片| 天天躁夜夜躁狠狠久久av| 春色校园在线视频观看| 岛国毛片在线播放| 欧美日韩视频高清一区二区三区二| 人人妻人人看人人澡| 麻豆国产97在线/欧美| 国产av一区二区精品久久 | 丰满少妇做爰视频| 久久人妻熟女aⅴ| 18禁裸乳无遮挡免费网站照片| 伦理电影大哥的女人| 日本av手机在线免费观看| 日韩在线高清观看一区二区三区| 黑人猛操日本美女一级片| 欧美97在线视频| 黑人高潮一二区| 高清在线视频一区二区三区| 亚洲欧美成人综合另类久久久| 国产精品久久久久久久久免| 亚洲av中文av极速乱| 狂野欧美白嫩少妇大欣赏| 成人毛片a级毛片在线播放| 日本一二三区视频观看| 国产有黄有色有爽视频| 王馨瑶露胸无遮挡在线观看| 亚洲欧美日韩东京热| 欧美一区二区亚洲| 麻豆成人av视频| 丰满迷人的少妇在线观看| 人人妻人人看人人澡| 国国产精品蜜臀av免费| 一级毛片aaaaaa免费看小| 又粗又硬又长又爽又黄的视频| 精品亚洲成a人片在线观看 | 国产精品一二三区在线看| 中文字幕av成人在线电影| 丝袜脚勾引网站| 日韩欧美 国产精品| 2021少妇久久久久久久久久久| 你懂的网址亚洲精品在线观看| 国产精品久久久久成人av| 亚洲电影在线观看av| 在现免费观看毛片| 男的添女的下面高潮视频| 亚洲欧美一区二区三区国产| 国产永久视频网站| 亚洲欧美日韩另类电影网站 | xxx大片免费视频| 国产日韩欧美在线精品| 在线观看三级黄色| 国产在线男女| 青青草视频在线视频观看| 黄色配什么色好看| 亚洲高清免费不卡视频| 你懂的网址亚洲精品在线观看| 国产精品熟女久久久久浪| 久久久久久九九精品二区国产| 午夜激情福利司机影院| 免费高清在线观看视频在线观看| 国产精品久久久久久精品古装| 精品国产乱码久久久久久小说| 直男gayav资源| 亚州av有码| a级一级毛片免费在线观看| 亚洲国产精品一区三区| 亚洲欧美日韩东京热| 欧美xxxx黑人xx丫x性爽| 天堂中文最新版在线下载| 久久久久网色|