• <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精品国语久久久| 一区在线观看完整版| 在线观看一区二区三区| xxx大片免费视频| 天堂中文最新版在线下载| 欧美精品一区二区大全| 国产精品福利在线免费观看| 99热网站在线观看| 黑人高潮一二区| 亚洲精品视频女| 国产淫片久久久久久久久| 免费观看性生交大片5| 爱豆传媒免费全集在线观看| 久久99蜜桃精品久久| 午夜福利网站1000一区二区三区| 欧美三级亚洲精品| 99视频精品全部免费 在线| h视频一区二区三区| 久久亚洲国产成人精品v| 美女中出高潮动态图| 国产日韩欧美亚洲二区| av线在线观看网站| 亚洲精品第二区| 日本黄色片子视频| 蜜桃久久精品国产亚洲av| 久热这里只有精品99| 国产精品一区二区三区四区免费观看| 精品人妻偷拍中文字幕| 大码成人一级视频| 91精品伊人久久大香线蕉| 我要看黄色一级片免费的| 极品教师在线视频| 中文资源天堂在线| 岛国毛片在线播放| freevideosex欧美| www.色视频.com| 国产精品女同一区二区软件| 国产 精品1| 久久精品国产亚洲av天美| 精品人妻一区二区三区麻豆| 一级爰片在线观看| 18禁在线无遮挡免费观看视频| 纵有疾风起免费观看全集完整版| 身体一侧抽搐| freevideosex欧美| 亚洲精品亚洲一区二区| 午夜福利网站1000一区二区三区| 亚洲av欧美aⅴ国产| 日日啪夜夜撸| av免费观看日本| 亚洲av.av天堂| 国产亚洲午夜精品一区二区久久| 国精品久久久久久国模美| av卡一久久| 色婷婷久久久亚洲欧美| 久久精品国产鲁丝片午夜精品| 99久久综合免费| 一区二区三区精品91| 久久久久精品久久久久真实原创| 又粗又硬又长又爽又黄的视频| 一级毛片 在线播放| 少妇的逼好多水| 一区二区三区四区激情视频| 欧美成人午夜免费资源| 大陆偷拍与自拍| 日韩制服骚丝袜av| 中文乱码字字幕精品一区二区三区| 黄色欧美视频在线观看| 日日啪夜夜撸| 少妇猛男粗大的猛烈进出视频| 久久久久久久国产电影| 欧美激情极品国产一区二区三区 | av不卡在线播放| 亚洲精品456在线播放app| 少妇人妻精品综合一区二区| 看非洲黑人一级黄片| 99热国产这里只有精品6| 有码 亚洲区| 欧美一区二区亚洲| 亚洲综合精品二区| 亚洲av综合色区一区| 久久精品国产亚洲av天美| 成人综合一区亚洲| 国产av一区二区精品久久 | 午夜福利在线在线| 日韩大片免费观看网站| 久久久久久久精品精品| 大香蕉97超碰在线| 18禁动态无遮挡网站| 成年女人在线观看亚洲视频| 亚洲成色77777| 自拍偷自拍亚洲精品老妇| 日韩大片免费观看网站| av国产精品久久久久影院| 亚洲国产色片| 国产久久久一区二区三区| 人妻一区二区av| 两个人的视频大全免费| 久久久久久伊人网av| 校园人妻丝袜中文字幕| 国产人妻一区二区三区在| 青春草亚洲视频在线观看| 在线观看一区二区三区| 欧美精品一区二区免费开放| 男女边吃奶边做爰视频| 精品人妻熟女av久视频| 涩涩av久久男人的天堂| 大香蕉久久网| 中文欧美无线码| 狂野欧美激情性xxxx在线观看| 色婷婷久久久亚洲欧美| 嘟嘟电影网在线观看| 国产精品99久久99久久久不卡 | 国产黄片美女视频| 亚洲真实伦在线观看| 一本色道久久久久久精品综合| 国产成人免费无遮挡视频| 亚洲精品456在线播放app| 中文字幕久久专区| 人妻制服诱惑在线中文字幕| av在线蜜桃| 日韩制服骚丝袜av| 少妇裸体淫交视频免费看高清| 在线 av 中文字幕| 国产在线一区二区三区精| 高清视频免费观看一区二区| 亚洲精品自拍成人| 久久99热这里只有精品18| 欧美性感艳星| 精品一区二区三区视频在线| 国产久久久一区二区三区| 国产成人freesex在线| 91午夜精品亚洲一区二区三区| 18禁裸乳无遮挡动漫免费视频| 青青草视频在线视频观看| 国产精品一区www在线观看| 尤物成人国产欧美一区二区三区| 伊人久久精品亚洲午夜| 在线观看av片永久免费下载| 国产一区亚洲一区在线观看| 日日摸夜夜添夜夜爱| 免费黄色在线免费观看| 新久久久久国产一级毛片| 日韩,欧美,国产一区二区三区| 男女啪啪激烈高潮av片| 大码成人一级视频| 午夜老司机福利剧场| 欧美成人精品欧美一级黄| 中国美白少妇内射xxxbb| 纵有疾风起免费观看全集完整版| 日韩大片免费观看网站| 六月丁香七月| 一级av片app| 少妇的逼水好多| 男女免费视频国产| 高清日韩中文字幕在线| 好男人视频免费观看在线| 18禁动态无遮挡网站| 熟女av电影| 边亲边吃奶的免费视频| 日本vs欧美在线观看视频 | 精品久久久久久电影网| 国产av国产精品国产| 久久精品夜色国产| 美女中出高潮动态图| 在线天堂最新版资源| 亚洲伊人久久精品综合| av在线播放精品| 亚洲国产精品成人久久小说| 直男gayav资源| 国产在线视频一区二区| 国产精品国产三级专区第一集| 亚洲av福利一区| 好男人视频免费观看在线| 中文字幕制服av| 亚洲,欧美,日韩| 国产黄色免费在线视频| 亚洲内射少妇av| 日本一二三区视频观看| 亚洲人成网站高清观看| 国产av精品麻豆| 亚洲av男天堂| 18禁在线无遮挡免费观看视频| 亚洲精品乱码久久久v下载方式| 岛国毛片在线播放| 哪个播放器可以免费观看大片| 少妇裸体淫交视频免费看高清| 麻豆乱淫一区二区| 80岁老熟妇乱子伦牲交| 亚洲精品乱码久久久久久按摩| 十分钟在线观看高清视频www | 国产一级毛片在线| 久久热精品热| 97热精品久久久久久| 午夜免费男女啪啪视频观看| 久久久久久伊人网av| 国产中年淑女户外野战色| 十八禁网站网址无遮挡 | 国产在视频线精品| 亚洲欧美日韩东京热| 亚洲怡红院男人天堂| 亚洲欧美中文字幕日韩二区| 在线观看免费视频网站a站| 成人毛片a级毛片在线播放| 一本—道久久a久久精品蜜桃钙片| 王馨瑶露胸无遮挡在线观看| 熟妇人妻不卡中文字幕| 久热这里只有精品99| 亚洲av中文av极速乱| 国产精品免费大片| 欧美精品亚洲一区二区| 国产又色又爽无遮挡免| 男的添女的下面高潮视频| 久久久久久伊人网av| 欧美xxxx黑人xx丫x性爽| 丝瓜视频免费看黄片| 黄色日韩在线| 少妇人妻 视频| 久久国产亚洲av麻豆专区| 亚洲人成网站在线播| 看十八女毛片水多多多| 少妇丰满av| 91久久精品国产一区二区成人| 国产精品久久久久久久久免| 亚洲久久久国产精品| 久久久成人免费电影| 一级毛片久久久久久久久女| 性色av一级| 在线播放无遮挡| 交换朋友夫妻互换小说| 中文欧美无线码| 狂野欧美激情性xxxx在线观看| 久久97久久精品| 天堂俺去俺来也www色官网| 中国美白少妇内射xxxbb| 这个男人来自地球电影免费观看 | 汤姆久久久久久久影院中文字幕| 免费播放大片免费观看视频在线观看| 偷拍熟女少妇极品色| 精品人妻熟女av久视频| 久久久欧美国产精品| 免费人妻精品一区二区三区视频| 91久久精品国产一区二区三区| 欧美精品亚洲一区二区| 97超碰精品成人国产| 欧美三级亚洲精品| 成人免费观看视频高清| 精品人妻视频免费看| 色哟哟·www| 麻豆乱淫一区二区| 国产成人精品福利久久| 99热网站在线观看| 热99国产精品久久久久久7| 夜夜爽夜夜爽视频| 国内少妇人妻偷人精品xxx网站| 久久ye,这里只有精品| 女的被弄到高潮叫床怎么办| 日本与韩国留学比较| 国产老妇伦熟女老妇高清| 亚洲中文av在线| 我要看日韩黄色一级片| 久久精品熟女亚洲av麻豆精品| 国产伦精品一区二区三区视频9| 97精品久久久久久久久久精品| 99视频精品全部免费 在线| 一级二级三级毛片免费看| 日本欧美视频一区| 丰满人妻一区二区三区视频av| 特大巨黑吊av在线直播| 国产一区二区三区av在线| 女性被躁到高潮视频| 免费av不卡在线播放| 久久久久久久精品精品| 久久av网站| 亚洲av福利一区| 内地一区二区视频在线| 在线观看一区二区三区| 免费在线观看成人毛片| 国产白丝娇喘喷水9色精品| 亚洲真实伦在线观看| 九九在线视频观看精品| 日本午夜av视频| 97热精品久久久久久| tube8黄色片| 国产免费一级a男人的天堂| 国产精品一区二区在线不卡| 亚洲精品国产av蜜桃| 免费观看av网站的网址| 日韩欧美精品免费久久| 亚洲成人av在线免费| 一区二区三区四区激情视频| 日本黄色日本黄色录像| 亚洲av电影在线观看一区二区三区| 久久精品国产a三级三级三级| 亚洲欧美日韩东京热| 在线观看人妻少妇| 久久久久久久久久久免费av| 又大又黄又爽视频免费| 成年人午夜在线观看视频| 亚洲欧美成人精品一区二区| 欧美日韩在线观看h| 女人十人毛片免费观看3o分钟| 99热这里只有精品一区| 欧美激情极品国产一区二区三区 | 国产欧美另类精品又又久久亚洲欧美| 国产精品99久久99久久久不卡 | 成人毛片a级毛片在线播放| 国产精品久久久久久久电影| 身体一侧抽搐| 最黄视频免费看| 天美传媒精品一区二区| 国产精品久久久久久精品电影小说 | 99热这里只有是精品在线观看| 亚洲人成网站在线观看播放| 亚洲av成人精品一二三区| 国产老妇伦熟女老妇高清| 国产精品不卡视频一区二区| 26uuu在线亚洲综合色| 国产精品99久久99久久久不卡 | 国产精品爽爽va在线观看网站| 狠狠精品人妻久久久久久综合| 亚洲第一区二区三区不卡| 男女国产视频网站| 欧美日韩亚洲高清精品| 欧美三级亚洲精品| 中国国产av一级| 国产久久久一区二区三区| 在线观看av片永久免费下载| 在线观看国产h片| 亚洲国产成人一精品久久久| 国产男女超爽视频在线观看| 国产亚洲午夜精品一区二区久久| 超碰97精品在线观看| 熟女电影av网| 亚洲国产精品一区三区| 极品少妇高潮喷水抽搐| 国内少妇人妻偷人精品xxx网站| 黄色怎么调成土黄色| 老师上课跳d突然被开到最大视频| 久久热精品热| 91久久精品国产一区二区成人| 日韩视频在线欧美| 国产亚洲5aaaaa淫片| 欧美xxxx黑人xx丫x性爽| 人妻 亚洲 视频| 视频区图区小说| a 毛片基地| 内射极品少妇av片p| 五月玫瑰六月丁香| 纯流量卡能插随身wifi吗| 久久人人爽人人爽人人片va| 国内精品宾馆在线| 91狼人影院| 国产精品一及| 免费在线观看成人毛片| 欧美最新免费一区二区三区| 免费久久久久久久精品成人欧美视频 | 天美传媒精品一区二区| 少妇精品久久久久久久| 91久久精品电影网| 久久久久久久精品精品| 国产免费又黄又爽又色| 深夜a级毛片| 色婷婷久久久亚洲欧美| 国产在线视频一区二区| 中文精品一卡2卡3卡4更新| 91精品国产九色| 成人毛片60女人毛片免费| 久久99热这里只频精品6学生| 少妇精品久久久久久久| 亚洲欧美日韩无卡精品| 国产精品久久久久成人av| 高清视频免费观看一区二区| 丰满人妻一区二区三区视频av| a级毛色黄片| 一级毛片黄色毛片免费观看视频| 欧美性感艳星| 亚洲第一av免费看| 一区在线观看完整版| 男人爽女人下面视频在线观看| 亚洲国产日韩一区二区| 久久99热这里只有精品18| 日韩一区二区三区影片| 欧美区成人在线视频| 亚洲av电影在线观看一区二区三区| 直男gayav资源| 午夜福利在线在线| 婷婷色综合www| 亚洲最大成人中文| 午夜激情久久久久久久| 建设人人有责人人尽责人人享有的 | 交换朋友夫妻互换小说| 欧美成人a在线观看| 久久毛片免费看一区二区三区| 各种免费的搞黄视频| 特大巨黑吊av在线直播| 国产爱豆传媒在线观看| 美女内射精品一级片tv| 欧美高清成人免费视频www| 亚洲av男天堂| 国产v大片淫在线免费观看| 1000部很黄的大片| 国产精品久久久久久av不卡| 欧美日本视频| 777米奇影视久久| 久久精品国产亚洲av天美| 国产精品成人在线| 人妻少妇偷人精品九色| av天堂中文字幕网| 美女xxoo啪啪120秒动态图| 少妇精品久久久久久久| 欧美bdsm另类| 麻豆乱淫一区二区| 国产精品一区二区性色av| 99久久综合免费| 久久精品国产亚洲av涩爱| 一级a做视频免费观看| 国产日韩欧美亚洲二区| 欧美日韩视频精品一区| 亚洲欧美一区二区三区国产| 99精国产麻豆久久婷婷| 一级毛片久久久久久久久女| av在线老鸭窝| 最新中文字幕久久久久| 欧美丝袜亚洲另类| 国产精品99久久久久久久久| 黄片wwwwww| 久久精品国产亚洲网站| 我的老师免费观看完整版| 高清不卡的av网站| 欧美高清成人免费视频www| 一本色道久久久久久精品综合| 香蕉精品网在线| freevideosex欧美| 国产老妇伦熟女老妇高清| 美女脱内裤让男人舔精品视频| 久久 成人 亚洲| 亚洲,欧美,日韩| 国产精品一区二区在线不卡| 国产欧美日韩精品一区二区| 97超视频在线观看视频| 欧美变态另类bdsm刘玥| 久久99热这里只频精品6学生| 人人妻人人澡人人爽人人夜夜| 插阴视频在线观看视频| 久久精品人妻少妇| 国产精品蜜桃在线观看| 精品一区二区免费观看| 在线观看人妻少妇| www.色视频.com| 黄色视频在线播放观看不卡| 麻豆精品久久久久久蜜桃| 亚洲国产高清在线一区二区三| 久久国产亚洲av麻豆专区| 欧美日韩视频精品一区| 少妇人妻久久综合中文| av在线老鸭窝| 国产视频首页在线观看| 精品少妇黑人巨大在线播放| av国产久精品久网站免费入址| 日本免费在线观看一区| 狂野欧美白嫩少妇大欣赏| 国产午夜精品久久久久久一区二区三区| 亚洲精品国产av蜜桃| 成人国产av品久久久| 在线观看免费高清a一片| 夜夜看夜夜爽夜夜摸| 欧美xxxx性猛交bbbb| 亚洲成人中文字幕在线播放| 少妇精品久久久久久久| 成人18禁高潮啪啪吃奶动态图 | 高清在线视频一区二区三区| xxx大片免费视频| 国产日韩欧美在线精品| 中国三级夫妇交换| 99九九线精品视频在线观看视频| 亚洲精品国产av蜜桃| 国产精品无大码| 日韩一区二区三区影片| 亚洲精品日韩在线中文字幕| 少妇 在线观看| 久久久亚洲精品成人影院| 一级毛片我不卡| 性高湖久久久久久久久免费观看| 激情 狠狠 欧美| 精品亚洲成国产av| 日韩伦理黄色片| 美女视频免费永久观看网站| 男人舔奶头视频| 男人爽女人下面视频在线观看| 肉色欧美久久久久久久蜜桃| 亚洲精品国产色婷婷电影| 久久久久久久大尺度免费视频| 这个男人来自地球电影免费观看 | 亚洲丝袜综合中文字幕| 国产亚洲欧美精品永久| 日韩电影二区| 夫妻午夜视频| av视频免费观看在线观看| 精品久久国产蜜桃| 在线观看免费视频网站a站| 精品久久久久久久久av| 在线观看免费视频网站a站| 夫妻午夜视频| 午夜免费男女啪啪视频观看| 激情五月婷婷亚洲| 亚洲精品一二三| 成人18禁高潮啪啪吃奶动态图 | 亚洲伊人久久精品综合| 国产欧美日韩一区二区三区在线 | av天堂中文字幕网| 97热精品久久久久久| 精品国产一区二区三区久久久樱花 | 插阴视频在线观看视频| 精品国产一区二区三区久久久樱花 | 亚洲精品国产av成人精品| 国产av码专区亚洲av| 国产精品久久久久成人av| 亚洲欧美精品自产自拍| 在现免费观看毛片| 91久久精品电影网| 狂野欧美白嫩少妇大欣赏| 汤姆久久久久久久影院中文字幕| 麻豆精品久久久久久蜜桃| 久久99蜜桃精品久久| 国产黄色视频一区二区在线观看| 欧美精品人与动牲交sv欧美| 亚洲人与动物交配视频| 免费人妻精品一区二区三区视频| 国产乱来视频区| 男女啪啪激烈高潮av片| 色视频www国产| 婷婷色综合大香蕉| 18禁动态无遮挡网站| 亚洲怡红院男人天堂| 纯流量卡能插随身wifi吗| 九九久久精品国产亚洲av麻豆| 乱码一卡2卡4卡精品| xxx大片免费视频| a级一级毛片免费在线观看| 久久影院123| 日韩,欧美,国产一区二区三区| 天天躁日日操中文字幕| 女性生殖器流出的白浆| 一区二区三区四区激情视频| 国产精品一区二区在线观看99| 最近手机中文字幕大全| 国产女主播在线喷水免费视频网站| 丝袜脚勾引网站| 亚洲精品久久久久久婷婷小说| 99热6这里只有精品| 亚洲欧美精品专区久久| 特大巨黑吊av在线直播| 亚洲av成人精品一二三区| 精品亚洲成a人片在线观看 | 亚洲三级黄色毛片| 夫妻午夜视频| 欧美+日韩+精品| 日日摸夜夜添夜夜爱| 人体艺术视频欧美日本| 国产片特级美女逼逼视频| 日韩av在线免费看完整版不卡| 少妇 在线观看| 日韩中字成人| 久久久a久久爽久久v久久| 少妇人妻久久综合中文| 女的被弄到高潮叫床怎么办| 亚洲精品视频女| 麻豆乱淫一区二区| 亚洲欧美一区二区三区黑人 | 又大又黄又爽视频免费| 直男gayav资源| 国产一区亚洲一区在线观看| 国产精品国产av在线观看| 校园人妻丝袜中文字幕| 久久国产精品大桥未久av | 最近手机中文字幕大全| 午夜福利网站1000一区二区三区| 国产人妻一区二区三区在| 亚洲精品,欧美精品| 纯流量卡能插随身wifi吗| 亚洲av.av天堂| 久久婷婷青草| 超碰av人人做人人爽久久| 人人妻人人澡人人爽人人夜夜| 亚洲av免费高清在线观看| 亚洲一区二区三区欧美精品| 久热久热在线精品观看| 少妇人妻久久综合中文| 日韩电影二区| 欧美性感艳星| 精品国产露脸久久av麻豆| 久热久热在线精品观看| 欧美另类一区| 国产一区二区三区综合在线观看 | 超碰97精品在线观看| 日本wwww免费看| 国产成人a区在线观看| 亚洲精品国产成人久久av| 人妻制服诱惑在线中文字幕| 婷婷色综合www| 久久久午夜欧美精品| 国产爽快片一区二区三区| 亚州av有码| 国产伦理片在线播放av一区| 六月丁香七月| 午夜福利高清视频| 如何舔出高潮| 两个人的视频大全免费| 少妇裸体淫交视频免费看高清| 伦精品一区二区三区| 丰满少妇做爰视频| 婷婷色麻豆天堂久久| 干丝袜人妻中文字幕| 美女国产视频在线观看|