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

    基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲(chóng)的研究與實(shí)現(xiàn)

    2018-10-20 11:01:44華云彬匡芳君
    關(guān)鍵詞:爬蟲(chóng)列表分布式

    華云彬 匡芳君

    Abstract: Aiming at the problems of offensive, defensive, and crawling efficiency in the development of Web crawlers, the paper focuses on analyzing the working principle and implementation of the distributed crawler based on the Scrapy framework, as well as some distributed operating principles, anti-reptiles, and the algorithm of duplicate removal, Redis database, MongoDB database, etc., designs and implements a distributed Web crawler based on Scrapy framework. Finally, through comparative test and analysis of the crawler, it is concluded that how to improve crawling efficiency of the crawler and avoid the anti-crawler strategy of the site.

    引言

    隨著互聯(lián)網(wǎng)的發(fā)展,大數(shù)據(jù)時(shí)代的到來(lái),普通搜索引擎已無(wú)法滿足人們對(duì)信息獲取的需求,網(wǎng)絡(luò)爬蟲(chóng)應(yīng)運(yùn)而生,如百度的網(wǎng)絡(luò)爬蟲(chóng)Baiduspider、谷歌的網(wǎng)絡(luò)爬蟲(chóng)Googlebot等[1],也陸續(xù)涌現(xiàn)了很多成熟的爬蟲(chóng)框架,如本文使用的Scrapy[2]。但其從催生傳承演變至今,爬蟲(chóng)開(kāi)發(fā)也已面臨著一些問(wèn)題,對(duì)此可闡釋分析如下。

    (1)網(wǎng)站與爬蟲(chóng)之間的攻防問(wèn)題 [3]。針對(duì)爬蟲(chóng)無(wú)限制地爬取所有網(wǎng)頁(yè)的狀況,制定了robots協(xié)議[4],但由于該協(xié)議并未成為一個(gè)嚴(yán)謹(jǐn)規(guī)范,只是約定俗成的技術(shù)守則,故而不能真正地阻止網(wǎng)絡(luò)爬蟲(chóng),因此出現(xiàn)了反爬蟲(chóng)技術(shù)。本文將使用分布式技術(shù)來(lái)解決這個(gè)問(wèn)題。

    (2)統(tǒng)一資源地址的去重問(wèn)題。在爬取的過(guò)程中,爬蟲(chóng)經(jīng)常會(huì)遇到相同的URL,如果再次爬取,就造成了資源的浪費(fèi)。普遍采取的方案是使用md5等哈希后存入set。而本文將使用BloomFilter算法[5]來(lái)解決去重問(wèn)題。

    (3)爬蟲(chóng)爬取效率問(wèn)題。如今的爬蟲(chóng)普遍存在爬取效率較低的問(wèn)題,為了解決該問(wèn)題,本文的爬蟲(chóng)采用了分布式[6]、代理池等技術(shù)。

    綜上可知,本文重點(diǎn)圍繞前述問(wèn)題,研究和實(shí)現(xiàn)基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲(chóng)。

    1相關(guān)關(guān)鍵技術(shù)

    1.1網(wǎng)絡(luò)爬蟲(chóng)技術(shù)

    網(wǎng)絡(luò)爬蟲(chóng),又稱為網(wǎng)絡(luò)蜘蛛,是一種能夠根據(jù)程序設(shè)計(jì)者所設(shè)計(jì)的規(guī)則,自動(dòng)抓取特定網(wǎng)頁(yè)信息的程序。網(wǎng)絡(luò)爬蟲(chóng)始于一個(gè)或多個(gè)事先確定的被稱為種子的URL地址,如果能夠訪問(wèn)則下載其中的內(nèi)容,而后利用程序設(shè)計(jì)者開(kāi)發(fā)的解析模塊,提取其中所需要的數(shù)據(jù)或者其它的URL鏈接,并將獲取到的URL鏈接加入到待爬取列表中,重復(fù)這一步驟,直至待爬列表為空。網(wǎng)絡(luò)爬蟲(chóng)按照實(shí)現(xiàn)原理可分為通用網(wǎng)絡(luò)爬蟲(chóng)、增量式網(wǎng)絡(luò)爬蟲(chóng)、聚焦網(wǎng)絡(luò)爬蟲(chóng)3種類型[7]。本文主要研究聚焦型網(wǎng)絡(luò)爬蟲(chóng)。

    目前,網(wǎng)絡(luò)爬蟲(chóng)一般分為深度優(yōu)先和廣度優(yōu)先2種爬取策略算法[8]。前者一般用棧實(shí)現(xiàn),即一個(gè)爬蟲(chóng)程序爬取一個(gè)HTML文件后,只要找到該文件中的一個(gè)鏈接,就立即去爬取該鏈接并重復(fù)執(zhí)行深度優(yōu)先算法,直至到達(dá)終點(diǎn)后,重新返至可前溯的HTML文件中找尋其它鏈接。后者則一般用隊(duì)列實(shí)現(xiàn),即一個(gè)爬蟲(chóng)程序爬取一個(gè)HTML文件后,找到該文件中所有鏈接,再存入隊(duì)列中,然后根據(jù)隊(duì)列中鏈接繼續(xù)爬取并重復(fù)執(zhí)行廣度優(yōu)先算法。本文網(wǎng)絡(luò)爬蟲(chóng)采用廣度優(yōu)先算法。

    1.2Scrapy框架技術(shù)

    Scrapy是Python開(kāi)發(fā)的一個(gè)高層次的、快速的Web抓取框架[9],用于抓取網(wǎng)頁(yè)并從中提取結(jié)構(gòu)化數(shù)據(jù),已廣泛應(yīng)用于自動(dòng)化測(cè)試與數(shù)據(jù)挖掘領(lǐng)域研究中。Scrapy框架主要由引擎(Engine)、調(diào)度器(Scheduler)、Spiders、下載器(Downloader)、Item Pipeline、中間件(Middleware)組成,設(shè)計(jì)架構(gòu)即如圖1所示。

    1.3Redis分布式爬蟲(chóng)相關(guān)技術(shù)

    分布式爬蟲(chóng),又稱集群爬蟲(chóng)。分布式爬蟲(chóng)可實(shí)現(xiàn)多臺(tái)機(jī)器同時(shí)爬取,爬取速度快、可輕松避開(kāi)對(duì)方的反爬蟲(chóng)機(jī)制對(duì)IP的封鎖檢測(cè)。網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)偏向IO的任務(wù),研究認(rèn)為分布式爬蟲(chóng)主要考慮爬蟲(chóng)任務(wù)的去重、爬蟲(chóng)任務(wù)的統(tǒng)一調(diào)度和爬蟲(chóng)的速度、存儲(chǔ)等問(wèn)題,而Redis則能有效解決這些問(wèn)題。Redis是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù),支持key-value和list、set、hash等數(shù)據(jù)結(jié)構(gòu),同時(shí)Redis也是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),具備著讀取速度快的優(yōu)點(diǎn)。本文研究采用了基于Scrapy框架和Redis的分布式爬蟲(chóng),爬蟲(chóng)調(diào)度任務(wù)則采用Python的scrapy-redis模塊實(shí)現(xiàn)。

    1.4爬蟲(chóng)去重BloomFilter算法

    網(wǎng)絡(luò)爬蟲(chóng)的效率至關(guān)重要,而爬蟲(chóng)的URL鏈接去重則是影響爬蟲(chóng)效率的主要因素之一。在實(shí)際應(yīng)用中,爬蟲(chóng)在爬取數(shù)據(jù)時(shí),往往會(huì)爬取到許多重復(fù)的URL 鏈接,如果再對(duì)這些鏈接進(jìn)行爬取,就會(huì)造成內(nèi)存及帶寬資源的極大浪費(fèi),從而降低爬蟲(chóng)效率。針對(duì)這種情況,研究中集結(jié)提煉了數(shù)種爬蟲(chóng)的去重策略,可分述如下。

    (1)將URL保存到MySQL等數(shù)據(jù)庫(kù)中,每次爬取之前訪問(wèn)數(shù)據(jù)庫(kù)查詢,效率低。

    (2)將URL保存到set中,訪問(wèn)速度快,但內(nèi)存占用巨大,且不利于持久化。

    (3)將URL使用md5等算法哈希后存入set中。Scrapy框架默認(rèn)使用的即為該方法。

    (4)使用BitMap方法,將URL通過(guò)hash進(jìn)行映射。

    (5)使用BloomFilter算法對(duì)BitMap方法提供改進(jìn)。

    2分布式網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)

    2.1網(wǎng)絡(luò)爬蟲(chóng)的功能需求分析

    本文主要研究基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲(chóng)。為了更好測(cè)試爬蟲(chóng)的效率,本爬蟲(chóng)并沒(méi)有采取常見(jiàn)的爬取目標(biāo)網(wǎng)頁(yè),而是采用了API接口的形式進(jìn)行數(shù)據(jù)的爬取。爬取的目標(biāo)選擇了知乎網(wǎng)(www.zhihu.com)的公開(kāi)用戶信息,通過(guò)API接口的形式爬取大量知乎用戶的基本信息。這里,關(guān)于該網(wǎng)絡(luò)爬蟲(chóng)抓取流程的分析將展開(kāi)如下探討論述。

    首先為了獲取知乎的用戶信息API接口,使用了Chrome自帶的抓包工具對(duì)從知乎上隨機(jī)選取的一名用戶的主頁(yè)進(jìn)行了分析,最終成功提取到了用戶信息的API接口(https://api.zhihu.com/people/xxxxxx,xxxxxx為用戶ID),該API返回的信息為JSON格式。這樣一來(lái),已爬取得到了該用戶的信息。然而API接口中,卻仍未得到用戶的ID。為了能大批量地獲取用戶的ID,通過(guò)對(duì)知乎的深入研究后發(fā)現(xiàn),知乎的每位用戶主頁(yè)中,有一個(gè)用戶關(guān)注他人列表及一個(gè)他人關(guān)注用戶的列表。如此再經(jīng)過(guò)抓包工具的分析,就成功獲取到了這2個(gè)列表的API接口。這2個(gè)接口的API中有一個(gè)參數(shù)為token值,該值是唯一的,可以從前述的用戶信息返回的JSON數(shù)據(jù)中獲取到。至此,就可以大批量地爬取知乎用戶信息。

    2.2數(shù)據(jù)爬取的流程設(shè)計(jì)

    分布式網(wǎng)絡(luò)爬蟲(chóng)根據(jù)設(shè)定的初始URL地址去爬取數(shù)據(jù),使用廣度優(yōu)先算法完成數(shù)據(jù)的獲取任務(wù)直至符合網(wǎng)絡(luò)爬蟲(chóng)結(jié)束的條件。本項(xiàng)目中,網(wǎng)絡(luò)爬蟲(chóng)首先根據(jù)給定的初始用戶API接口去爬取,獲取數(shù)據(jù)后解析得到用戶的token值,然后根據(jù)token值去爬取該用戶的關(guān)注他人列表及一個(gè)關(guān)注該用戶的他人列表,獲取這2個(gè)列表中所有用戶的ID值,再以此為基礎(chǔ)去爬取用戶的基本信息。重復(fù)以上步驟,直至網(wǎng)絡(luò)爬蟲(chóng)結(jié)束終止本次爬取任務(wù)。知乎分布式網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)流程可如圖2所示。

    2.3反反爬的策略設(shè)計(jì)與實(shí)現(xiàn)

    很多網(wǎng)站為了防止網(wǎng)絡(luò)爬蟲(chóng)爬取數(shù)據(jù),都紛紛出臺(tái)了一定的策略來(lái)避免爬蟲(chóng)的爬取。然而,在實(shí)際應(yīng)用中,在爬蟲(chóng)與反爬蟲(chóng)的對(duì)弈中,爬蟲(chóng)終會(huì)勝利。結(jié)合本項(xiàng)目的知乎分布式爬蟲(chóng),研發(fā)定制了一些本爬蟲(chóng)所采用的反反爬蟲(chóng)措施,可解析描述如下。

    (1)設(shè)置User-Agent。這是網(wǎng)站上普遍采取的反爬蟲(chóng)措施,可以直接通過(guò)更改header中的User-Agent值來(lái)達(dá)成目的。在本項(xiàng)目中,使用了fake-useragent模塊來(lái)動(dòng)態(tài)更改User-Agent。

    (2)設(shè)置爬蟲(chóng)爬取間隔。很多網(wǎng)站一般都會(huì)檢測(cè)一個(gè)IP的單位時(shí)間內(nèi)的訪問(wèn)次數(shù),如果某用戶訪問(wèn)速率偏高,就容易導(dǎo)致IP被封。為了解決這個(gè)問(wèn)題,可以設(shè)置爬蟲(chóng)的爬取間隔(如最簡(jiǎn)單的time.sleep(1)),還可以設(shè)置爬蟲(chóng)爬取一段時(shí)間后、添入一個(gè)睡眠機(jī)制等。

    而關(guān)于方法(2),設(shè)置爬蟲(chóng)爬取間隔,雖然可以有效避免被封禁IP,但在實(shí)際項(xiàng)目中,考慮到需要大規(guī)模地爬取數(shù)據(jù),爬取的效率尤為重要,而設(shè)置爬取間隔會(huì)大大地降低效率。因此在本項(xiàng)目中,采用了更換代理IP的方法進(jìn)行解決,一旦IP被封禁,就切換代理IP。本項(xiàng)目維護(hù)了一個(gè)IP代理池(使用Requests庫(kù)定期爬取網(wǎng)絡(luò)上的免費(fèi)代理IP,并定時(shí)檢測(cè)可用性。IP存放在Redis數(shù)據(jù)庫(kù)set中,有利于去重及方便調(diào)用)。除了前文陳述的本項(xiàng)目中用到的幾種反反爬蟲(chóng)措施外,還有很多反反爬蟲(chóng)策略,如模擬登錄使用Cookie、驗(yàn)證碼識(shí)別、PhantomJS+Selenium(數(shù)據(jù)JS后期渲染)、使用JS的加密庫(kù)生成動(dòng)態(tài)Token等。

    2.4爬蟲(chóng)分布式方案的設(shè)計(jì)與實(shí)現(xiàn)

    本項(xiàng)目的分布式爬蟲(chóng)采用Scrapy框架加Redis數(shù)據(jù)庫(kù),分布式調(diào)度采用scrapy-redis模塊。本項(xiàng)目把分布式爬蟲(chóng)主要分為Master端和Slave端2個(gè)部分。其中,Slave端重點(diǎn)是從Master端獲取任務(wù)進(jìn)行爬取,在爬取的同時(shí)也生成新的任務(wù),并將任務(wù)傳遞給Master端,爬取到的數(shù)據(jù)則保存到Master端的MongoDB中。而Master端只有一個(gè)Redis數(shù)據(jù)庫(kù)和一個(gè)MongoDB數(shù)據(jù)庫(kù),Redis就是對(duì)Slave端提交的任務(wù)進(jìn)行去重及放入待爬取的隊(duì)列,MongoDB則是用來(lái)存儲(chǔ)獲取到的用戶信息[10]。本項(xiàng)目分布式策略邏輯可如圖3所示。

    2.5Scrapy各功能模塊設(shè)計(jì)與實(shí)現(xiàn)

    2.5.1Spider模塊的設(shè)計(jì)與實(shí)現(xiàn)

    Spider模塊是爬取、分析知乎數(shù)據(jù)的類。該模塊中設(shè)計(jì)中涉及多種比較重要的屬性和方法,對(duì)其內(nèi)容可闡述如下。

    (1)allowed_domains屬性:表示爬蟲(chóng)可以爬取該URL下的子鏈接。

    (2)start_urls屬性:是一個(gè)存放爬蟲(chóng)的初始URL鏈接的數(shù)組。

    (3)parse方法:是scrapy.Spider類下的一個(gè)方法,每個(gè)生成的Response對(duì)象都會(huì)默認(rèn)作為參數(shù)傳遞給該方法。在該項(xiàng)目中,使用該方法解析用戶信息,獲取用戶的基本信息,給出用戶信息的Item對(duì)象,并給出2個(gè)爬取用戶關(guān)注他人列表及關(guān)注用戶的他人列表數(shù)據(jù)的Request對(duì)象,回調(diào)函數(shù)(callback)為parse_follower方法。

    (4)parse_follower方法:運(yùn)行解析出2個(gè)列表中所有的用戶ID,并給出爬取用戶信息的Request對(duì)象,回調(diào)函數(shù)(callback)為parse方法。

    2.5.2Items、Pipelines模塊的設(shè)計(jì)與實(shí)現(xiàn)

    Item是一個(gè)數(shù)據(jù)容器,用于保存爬取到的數(shù)據(jù)。Pipelines則用于設(shè)計(jì)處理生成的的Item。在本項(xiàng)目中,Items中有一個(gè)ZhiHuUserInfoItem類,類中定義了相應(yīng)的字段Field(有token_url、info2個(gè)字段)。Pipelines中卻配有一個(gè)把Item中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)的類,該部分將在2.6數(shù)據(jù)存儲(chǔ)中予以詳情解析闡述。

    2.5.3Middleware模塊的設(shè)計(jì)與實(shí)現(xiàn)

    Middleware模塊有Downloader Middlewares和Spider Middlewares2個(gè)類型,本文主要采用Downloader Middlewares(下載中間件)。Middlewares方法設(shè)計(jì)可見(jiàn)如下。

    (1)RandomUserAgentDownloaderMiddleware類:負(fù)責(zé)更換每個(gè)Request對(duì)象header中的User-Agent值。這里更換User-Agent使用了fake-useragent模塊(https://github.com/hellysmile/fake-useragent),該模塊可以隨機(jī)更換不同操作系統(tǒng)、不同瀏覽器的User-Agent值。

    (2)RandomProxyMiddleware類:負(fù)責(zé)更換代理IP及代理IP連接異常情況下的應(yīng)對(duì)處理。其中,還將內(nèi)配數(shù)種設(shè)計(jì)方法,可概述如下。

    ① process_request():負(fù)責(zé)更換Request的代理IP。

    ② cut_proxy():負(fù)責(zé)從Redis中獲取一個(gè)代理IP。

    ③ process_response():負(fù)責(zé)處理請(qǐng)求結(jié)束后返回的信息,如果返回403錯(cuò)誤,就意味著代理IP已失效,需要重新切換代理。

    ④ process_exception():負(fù)責(zé)處理連接時(shí)的異常情況。如TimeoutError、ConnectionRefusedError、ResponseFailed、ResponseNeverReceived、TunnelError、ConnectError等異?;蝈e(cuò)誤情況。若遭遇以上情況,這里同樣采用更換代理IP的方法獲得解決。

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

    網(wǎng)絡(luò)爬蟲(chóng)需要爬取的數(shù)據(jù)量一般都十分龐大,且有些是結(jié)構(gòu)化數(shù)據(jù),有些則為非結(jié)構(gòu)化數(shù)據(jù),因此一個(gè)適合的數(shù)據(jù)庫(kù)就尤顯重要。在知乎用戶信息爬蟲(chóng)項(xiàng)目中,獲取到的數(shù)據(jù)為非結(jié)構(gòu)化數(shù)據(jù),并不適宜選擇MySQL等關(guān)系型數(shù)據(jù)庫(kù),因而使用了MongoDB數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的存儲(chǔ)。

    MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。在本網(wǎng)絡(luò)爬蟲(chóng)中,研究?jī)H定義了2個(gè)Key。一個(gè)為_(kāi)id,存儲(chǔ)用戶信息的token_url;另一個(gè)為info,存儲(chǔ)用戶的基本信息。在Pipelines模塊中,定義了一個(gè)MongoDBPipeline類,可用作數(shù)據(jù)的存儲(chǔ),數(shù)據(jù)的存儲(chǔ)則采用了MongoDB中的update方法。其中,upsert屬性需設(shè)置為True,該數(shù)據(jù)有則更新、無(wú)則插入。

    3分布式網(wǎng)絡(luò)爬蟲(chóng)的測(cè)試

    3.1測(cè)試環(huán)境

    本網(wǎng)絡(luò)爬蟲(chóng)的測(cè)試環(huán)境基本信息可見(jiàn)表1。

    3.2測(cè)試數(shù)據(jù)與分析

    知乎分布式爬蟲(chóng)運(yùn)行1 h的測(cè)試結(jié)果可見(jiàn)表2。使用了3臺(tái)機(jī)器來(lái)測(cè)試分布式爬蟲(chóng),從數(shù)據(jù)中可以看到,爬蟲(chóng)的爬取效率達(dá)到了預(yù)期的目標(biāo)效果。

    爬蟲(chóng)的性能分析折線圖即如圖4所示。從圖4中看到,爬蟲(chóng)的爬蟲(chóng)效率波動(dòng)仍然較大,究其原因就在于爬蟲(chóng)測(cè)試的網(wǎng)絡(luò)環(huán)境不穩(wěn)定所致。如果還需提升爬取速度,可以增加分布式爬蟲(chóng)的個(gè)數(shù)。

    3.3URL去重策略比較測(cè)試分析

    URL去重策略運(yùn)行1 h的比較測(cè)試結(jié)果可見(jiàn)表3。由表3可以看出,使用BloomFilter算法比Scrapy默認(rèn)去重(md5哈希后存入set)的去重效率得到了顯著的提升。因此在海量數(shù)據(jù)的爬取上,使用BloomFilter算法(布隆過(guò)濾器)最為適宜。

    4結(jié)束語(yǔ)

    本文探討了基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲(chóng)的研究與實(shí)現(xiàn)。研究中,不僅論述了提高網(wǎng)絡(luò)爬蟲(chóng)數(shù)據(jù)爬取效率的處理解決方法,而且提供了針對(duì)網(wǎng)站反爬蟲(chóng)的應(yīng)對(duì)策略。最后,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)知乎網(wǎng)用戶信息的分布式網(wǎng)絡(luò)爬蟲(chóng),并爬取得到了大量的數(shù)據(jù)。在后續(xù)研究中,還將深入研究如何借助數(shù)據(jù)分析手段對(duì)數(shù)據(jù)進(jìn)行分析,獲取如知乎網(wǎng)用戶分布、男女分布、學(xué)歷分布等等信息,進(jìn)一步地完善本爬蟲(chóng)。

    參考文獻(xiàn)

    [1] 王巖. 搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的發(fā)展[J]. 電信快報(bào), 2008(10):20-22.

    [2] Scrapy. Scrapy 1.5 documentation[EB/OL]. [2018]. https://docs.scrapy.org/en/latest/.

    [3] 陳利婷. 大數(shù)據(jù)時(shí)代的反爬蟲(chóng)技術(shù)[J]. 電腦與信息技術(shù),2016, 24(6):60-61.

    [4] ]Wikipedia.robots.txt詞條[EB/OL]. [2017-06-10]. https://en.wikipedia.org/wiki/MediaWiki:Robots.txt.

    [5] 張笑天. 分布式爬蟲(chóng)應(yīng)用中布隆過(guò)濾器的研究[D]. 沈陽(yáng):沈陽(yáng)工業(yè)大學(xué), 2017.

    [6] 朱嶸良. 分布式并行環(huán)境下的網(wǎng)絡(luò)爬蟲(chóng)研究[D] . 北京:中央民族大學(xué),2015.

    [7] 孫立偉,何國(guó)輝,吳禮發(fā). 網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的研究[J]. 電腦知識(shí)與技術(shù),2010,6(15):4112-4115.

    [8] 楊定中,趙剛,王泰. 網(wǎng)絡(luò)爬蟲(chóng)在Web信息搜索與數(shù)據(jù)挖掘中應(yīng)用[J]. 計(jì)算機(jī)工程與設(shè)計(jì). 2009,30(24):5658-5662.

    [9] 安子建. 基于Scrapy框架的網(wǎng)絡(luò)爬蟲(chóng)實(shí)現(xiàn)與數(shù)據(jù)抓取分析[D]. 長(zhǎng)春:吉林大學(xué), 2017.

    [10]趙本本,殷旭東,王偉. 基于Scrapy的GitHub數(shù)據(jù)爬蟲(chóng)[J]. 電子技術(shù)與軟件工程,2016(6): 199-202.

    猜你喜歡
    爬蟲(chóng)列表分布式
    巧用列表來(lái)推理
    利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
    基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
    學(xué)習(xí)運(yùn)用列表法
    擴(kuò)列吧
    利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
    分布式光伏熱錢洶涌
    能源(2017年10期)2017-12-20 05:54:07
    分布式光伏:爆發(fā)還是徘徊
    能源(2017年5期)2017-07-06 09:25:54
    大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
    電子制作(2017年9期)2017-04-17 03:00:46
    基于DDS的分布式三維協(xié)同仿真研究
    亚洲自偷自拍三级| 国产91av在线免费观看| 夜夜爽夜夜爽视频| 免费观看在线日韩| 久久久久视频综合| 插阴视频在线观看视频| 国产大屁股一区二区在线视频| 人妻一区二区av| 在线看a的网站| 亚洲av男天堂| 大片免费播放器 马上看| 99热6这里只有精品| 久久久久久久亚洲中文字幕| 亚洲欧美一区二区三区黑人 | 18禁在线播放成人免费| 啦啦啦啦在线视频资源| 国产欧美日韩精品一区二区| 一级毛片黄色毛片免费观看视频| 亚洲欧美一区二区三区黑人 | 在现免费观看毛片| 最近中文字幕高清免费大全6| 亚洲精品久久午夜乱码| 激情五月婷婷亚洲| 亚洲av.av天堂| 99久久精品热视频| 国产伦精品一区二区三区视频9| 精品久久久久久久久亚洲| 精品一区二区免费观看| 看非洲黑人一级黄片| 美女主播在线视频| 99久久精品热视频| 草草在线视频免费看| 日韩制服骚丝袜av| 亚洲伊人久久精品综合| 久久久精品94久久精品| 妹子高潮喷水视频| 国产精品.久久久| 五月伊人婷婷丁香| 嫩草影院入口| 精品亚洲成国产av| 我的老师免费观看完整版| 18禁裸乳无遮挡动漫免费视频| 一区二区三区乱码不卡18| 国产在线一区二区三区精| 亚洲av二区三区四区| 国内揄拍国产精品人妻在线| 成人无遮挡网站| 亚洲精品乱码久久久v下载方式| 少妇高潮的动态图| 久久久久久伊人网av| 好男人视频免费观看在线| 直男gayav资源| 亚洲av二区三区四区| 国产精品秋霞免费鲁丝片| 日日摸夜夜添夜夜爱| 国产69精品久久久久777片| 国产伦在线观看视频一区| 久久久午夜欧美精品| 国产亚洲最大av| 丝袜脚勾引网站| 精品一品国产午夜福利视频| 国产精品无大码| 欧美日韩视频高清一区二区三区二| 天堂俺去俺来也www色官网| 日韩成人伦理影院| 精品国产三级普通话版| 国产免费视频播放在线视频| 国产大屁股一区二区在线视频| 国产熟女欧美一区二区| 免费久久久久久久精品成人欧美视频 | 秋霞在线观看毛片| www.av在线官网国产| 精品国产乱码久久久久久小说| 日日摸夜夜添夜夜爱| 亚洲不卡免费看| 人人妻人人澡人人爽人人夜夜| 亚洲国产av新网站| 亚洲四区av| 国产日韩欧美在线精品| 亚洲精品,欧美精品| 偷拍熟女少妇极品色| 成年免费大片在线观看| 亚洲经典国产精华液单| 又粗又硬又长又爽又黄的视频| 在线免费十八禁| 亚洲丝袜综合中文字幕| 欧美三级亚洲精品| 日韩欧美 国产精品| 91aial.com中文字幕在线观看| 精品国产乱码久久久久久小说| 精品久久国产蜜桃| 国产精品爽爽va在线观看网站| 激情 狠狠 欧美| 久久国产亚洲av麻豆专区| 一区二区三区免费毛片| 国产成人a∨麻豆精品| 最后的刺客免费高清国语| 水蜜桃什么品种好| 欧美高清性xxxxhd video| 黄色一级大片看看| 国产男人的电影天堂91| 久久99热6这里只有精品| 十八禁网站网址无遮挡 | 国产黄片视频在线免费观看| 国产高清三级在线| 午夜福利网站1000一区二区三区| 亚洲国产精品一区三区| 蜜桃久久精品国产亚洲av| 99精国产麻豆久久婷婷| 亚洲欧洲日产国产| 国产一级毛片在线| 一级毛片黄色毛片免费观看视频| 国产男女内射视频| 妹子高潮喷水视频| 全区人妻精品视频| 一边亲一边摸免费视频| 亚洲美女黄色视频免费看| 校园人妻丝袜中文字幕| 国产成人a区在线观看| 纵有疾风起免费观看全集完整版| 欧美一区二区亚洲| 久久久久久人妻| 欧美日韩综合久久久久久| 国产欧美另类精品又又久久亚洲欧美| 久久精品国产亚洲网站| 精品国产露脸久久av麻豆| av又黄又爽大尺度在线免费看| 久久久久精品性色| 精品一品国产午夜福利视频| 久久精品国产自在天天线| 日韩欧美精品免费久久| 另类亚洲欧美激情| 免费播放大片免费观看视频在线观看| a 毛片基地| 国产在线男女| 少妇人妻一区二区三区视频| 日韩免费高清中文字幕av| 久久这里有精品视频免费| 亚洲精品,欧美精品| 日日摸夜夜添夜夜爱| 国产 一区 欧美 日韩| 午夜福利网站1000一区二区三区| 亚洲色图综合在线观看| 青春草视频在线免费观看| 国产精品国产三级专区第一集| 亚洲欧美日韩卡通动漫| 免费少妇av软件| 国产黄色免费在线视频| 好男人视频免费观看在线| 免费少妇av软件| 免费高清在线观看视频在线观看| 亚洲国产最新在线播放| 中文字幕亚洲精品专区| 亚洲人成网站在线观看播放| 人体艺术视频欧美日本| 自拍偷自拍亚洲精品老妇| 一区二区av电影网| 国产精品免费大片| 久久 成人 亚洲| 免费黄色在线免费观看| 国产日韩欧美在线精品| 亚洲精品自拍成人| 亚洲高清免费不卡视频| 国产又色又爽无遮挡免| 久久久久久久久大av| 亚洲国产精品成人久久小说| 国产欧美亚洲国产| 日韩大片免费观看网站| 亚洲高清免费不卡视频| 18禁动态无遮挡网站| 亚洲精华国产精华液的使用体验| 色网站视频免费| 亚洲怡红院男人天堂| 国产男女内射视频| 久久午夜福利片| 熟妇人妻不卡中文字幕| 国产探花极品一区二区| 国产精品人妻久久久影院| 亚洲精品第二区| 五月开心婷婷网| 在线观看三级黄色| 特大巨黑吊av在线直播| 亚洲一区二区三区欧美精品| 国语对白做爰xxxⅹ性视频网站| 成人午夜精彩视频在线观看| 国产成人免费观看mmmm| 亚洲精品456在线播放app| 国产av码专区亚洲av| 一级毛片电影观看| 老女人水多毛片| 亚洲av国产av综合av卡| 97热精品久久久久久| 国产精品国产av在线观看| 欧美bdsm另类| 少妇熟女欧美另类| 夜夜看夜夜爽夜夜摸| 中国国产av一级| 久久久久久久久久久丰满| 男女啪啪激烈高潮av片| 夜夜骑夜夜射夜夜干| 国产成人午夜福利电影在线观看| 国产欧美另类精品又又久久亚洲欧美| 精品99又大又爽又粗少妇毛片| 三级国产精品欧美在线观看| av卡一久久| 秋霞伦理黄片| 日日撸夜夜添| 亚洲av不卡在线观看| 亚洲av日韩在线播放| 激情 狠狠 欧美| 涩涩av久久男人的天堂| 成人黄色视频免费在线看| 久久国内精品自在自线图片| 看十八女毛片水多多多| 国产综合精华液| 一个人免费看片子| 久久精品国产自在天天线| 在线免费十八禁| 女人久久www免费人成看片| 日本猛色少妇xxxxx猛交久久| 女的被弄到高潮叫床怎么办| 交换朋友夫妻互换小说| 插阴视频在线观看视频| 亚洲色图av天堂| 亚洲精品国产成人久久av| 亚洲国产精品国产精品| 美女主播在线视频| 三级国产精品片| 熟女电影av网| 91精品国产国语对白视频| 精品一品国产午夜福利视频| 亚洲一级一片aⅴ在线观看| 美女高潮的动态| 日本黄大片高清| 国产高清有码在线观看视频| 91精品一卡2卡3卡4卡| 免费不卡的大黄色大毛片视频在线观看| 免费看日本二区| 91久久精品电影网| 国内精品宾馆在线| 老司机影院毛片| 免费大片18禁| kizo精华| 久久久久视频综合| 中文字幕精品免费在线观看视频 | 国产成人a区在线观看| 色网站视频免费| 亚洲av成人精品一二三区| 青春草亚洲视频在线观看| 人妻系列 视频| 亚洲久久久国产精品| 久久久久精品久久久久真实原创| 欧美3d第一页| 亚洲真实伦在线观看| 亚洲av免费高清在线观看| 国产精品一区二区三区四区免费观看| 99九九线精品视频在线观看视频| 小蜜桃在线观看免费完整版高清| 欧美精品国产亚洲| 国产精品麻豆人妻色哟哟久久| 日本av免费视频播放| 亚洲国产精品成人久久小说| 制服丝袜香蕉在线| 我要看黄色一级片免费的| 人妻制服诱惑在线中文字幕| 深爱激情五月婷婷| 国产午夜精品一二区理论片| 亚州av有码| 免费观看无遮挡的男女| 新久久久久国产一级毛片| 久久99蜜桃精品久久| 久久久色成人| 高清午夜精品一区二区三区| 国精品久久久久久国模美| 蜜桃在线观看..| 亚洲av福利一区| 蜜桃久久精品国产亚洲av| 久久99蜜桃精品久久| 简卡轻食公司| 亚洲第一区二区三区不卡| 国产免费视频播放在线视频| 伦精品一区二区三区| 日韩av免费高清视频| 中文在线观看免费www的网站| 精品人妻视频免费看| 国产黄色视频一区二区在线观看| 亚洲av日韩在线播放| 亚洲色图综合在线观看| 免费看光身美女| 亚洲精品色激情综合| 最近的中文字幕免费完整| 国产中年淑女户外野战色| 99久国产av精品国产电影| 欧美高清成人免费视频www| 黄片wwwwww| 欧美日韩国产mv在线观看视频 | 我的老师免费观看完整版| 在线观看国产h片| 婷婷色av中文字幕| 波野结衣二区三区在线| 黑人高潮一二区| 国产精品国产三级国产专区5o| 免费观看在线日韩| 能在线免费看毛片的网站| 成人高潮视频无遮挡免费网站| 国产视频首页在线观看| 国产在线男女| 国产国拍精品亚洲av在线观看| 高清在线视频一区二区三区| 精品久久久久久电影网| 精品亚洲乱码少妇综合久久| 九九久久精品国产亚洲av麻豆| 欧美日韩亚洲高清精品| 街头女战士在线观看网站| 少妇人妻精品综合一区二区| 国产乱人视频| 欧美精品亚洲一区二区| 在线看a的网站| 春色校园在线视频观看| 亚洲中文av在线| 国产精品人妻久久久影院| 水蜜桃什么品种好| 日本黄色日本黄色录像| 一本—道久久a久久精品蜜桃钙片| 简卡轻食公司| 亚洲精华国产精华液的使用体验| 亚洲激情五月婷婷啪啪| 在线观看美女被高潮喷水网站| 国产91av在线免费观看| 色网站视频免费| 日本猛色少妇xxxxx猛交久久| 麻豆精品久久久久久蜜桃| 亚洲第一区二区三区不卡| 最后的刺客免费高清国语| 成人亚洲精品一区在线观看 | 丝袜喷水一区| 在线观看av片永久免费下载| 国产av国产精品国产| 国产高清三级在线| 日韩av不卡免费在线播放| 啦啦啦视频在线资源免费观看| videos熟女内射| freevideosex欧美| 亚洲欧美日韩卡通动漫| videos熟女内射| 这个男人来自地球电影免费观看 | 国产精品.久久久| 国产黄片视频在线免费观看| 夜夜爽夜夜爽视频| 深夜a级毛片| 国国产精品蜜臀av免费| 深夜a级毛片| 啦啦啦视频在线资源免费观看| av黄色大香蕉| 欧美日韩在线观看h| 天天躁日日操中文字幕| 联通29元200g的流量卡| 又大又黄又爽视频免费| 王馨瑶露胸无遮挡在线观看| 国产成人精品一,二区| 天天躁夜夜躁狠狠久久av| 亚洲色图综合在线观看| 国产免费又黄又爽又色| 日本av免费视频播放| 男人和女人高潮做爰伦理| 国产成人精品福利久久| 毛片一级片免费看久久久久| 夫妻性生交免费视频一级片| 日韩欧美精品免费久久| 亚洲欧美一区二区三区黑人 | 婷婷色av中文字幕| 黄片wwwwww| 午夜精品国产一区二区电影| 精品一区二区免费观看| 久久久久久久亚洲中文字幕| 亚洲内射少妇av| 男人添女人高潮全过程视频| a级毛片免费高清观看在线播放| h视频一区二区三区| 九色成人免费人妻av| 99久久精品一区二区三区| 久久久国产一区二区| 在线观看免费视频网站a站| 夫妻午夜视频| 亚洲性久久影院| 午夜免费鲁丝| 国产精品一区二区三区四区免费观看| 久久午夜福利片| 精品国产露脸久久av麻豆| 亚洲欧美清纯卡通| 我的老师免费观看完整版| 丝袜脚勾引网站| 男女边摸边吃奶| 久久精品国产亚洲网站| 成人黄色视频免费在线看| 中文字幕亚洲精品专区| 七月丁香在线播放| 久久精品熟女亚洲av麻豆精品| 色哟哟·www| 国产又色又爽无遮挡免| 嫩草影院新地址| 女人久久www免费人成看片| 好男人视频免费观看在线| 国产av码专区亚洲av| 99久国产av精品国产电影| 国产女主播在线喷水免费视频网站| 国产 精品1| 午夜福利在线在线| 亚洲国产成人一精品久久久| 高清日韩中文字幕在线| 久久精品熟女亚洲av麻豆精品| 国产精品免费大片| 国产成人一区二区在线| 国产综合精华液| 大香蕉久久网| 我要看黄色一级片免费的| 永久免费av网站大全| 日本一二三区视频观看| 久久久久久久久久久免费av| 精品一区在线观看国产| 丝袜喷水一区| 看非洲黑人一级黄片| 日韩一区二区三区影片| 日韩欧美 国产精品| 高清欧美精品videossex| 免费大片黄手机在线观看| 午夜激情久久久久久久| 蜜桃久久精品国产亚洲av| 在线观看av片永久免费下载| 一区二区三区免费毛片| 十八禁网站网址无遮挡 | 亚洲av电影在线观看一区二区三区| 直男gayav资源| 国产亚洲午夜精品一区二区久久| 极品教师在线视频| 国产极品天堂在线| 久久久色成人| 黑丝袜美女国产一区| 久久精品久久精品一区二区三区| 午夜视频国产福利| 国产亚洲91精品色在线| 国产日韩欧美亚洲二区| 亚洲av成人精品一二三区| 嘟嘟电影网在线观看| 日韩一本色道免费dvd| 男人和女人高潮做爰伦理| 大陆偷拍与自拍| 久久青草综合色| 亚洲av中文字字幕乱码综合| 亚洲一级一片aⅴ在线观看| 欧美高清性xxxxhd video| 日本色播在线视频| 少妇 在线观看| 大话2 男鬼变身卡| 精品久久久精品久久久| 国产乱来视频区| 国产真实伦视频高清在线观看| 亚洲精品乱码久久久v下载方式| 日韩三级伦理在线观看| 日韩在线高清观看一区二区三区| 久久韩国三级中文字幕| 三级国产精品欧美在线观看| 成年免费大片在线观看| 精品久久久久久电影网| h视频一区二区三区| 天堂8中文在线网| 免费av不卡在线播放| 国产片特级美女逼逼视频| 亚洲精品,欧美精品| 欧美高清性xxxxhd video| 五月玫瑰六月丁香| 欧美日本视频| 国产精品久久久久久av不卡| 国产高潮美女av| 干丝袜人妻中文字幕| 99久久精品热视频| 日韩欧美一区视频在线观看 | 韩国高清视频一区二区三区| 九九久久精品国产亚洲av麻豆| 精品一区二区三卡| 天美传媒精品一区二区| 欧美日韩一区二区视频在线观看视频在线| 99热6这里只有精品| 久久久久精品久久久久真实原创| 大又大粗又爽又黄少妇毛片口| 美女xxoo啪啪120秒动态图| 国产精品一区二区在线观看99| 热99国产精品久久久久久7| 22中文网久久字幕| 乱系列少妇在线播放| 国产成人精品福利久久| 人妻夜夜爽99麻豆av| 18禁在线无遮挡免费观看视频| 黄色配什么色好看| 一级二级三级毛片免费看| 蜜桃在线观看..| 男女国产视频网站| 久久毛片免费看一区二区三区| 亚洲内射少妇av| 免费人成在线观看视频色| 啦啦啦在线观看免费高清www| 成人综合一区亚洲| 一级毛片电影观看| h日本视频在线播放| 简卡轻食公司| 99热国产这里只有精品6| 日韩视频在线欧美| 免费观看性生交大片5| 夫妻性生交免费视频一级片| 久久精品夜色国产| 精品久久久久久电影网| 国产成人午夜福利电影在线观看| 王馨瑶露胸无遮挡在线观看| 亚洲av国产av综合av卡| 97在线人人人人妻| 久久ye,这里只有精品| av福利片在线观看| 99热全是精品| 亚洲av.av天堂| 另类亚洲欧美激情| 天堂8中文在线网| 日韩,欧美,国产一区二区三区| 一区二区三区四区激情视频| 成人免费观看视频高清| videossex国产| 精品熟女少妇av免费看| 精品一区二区三区视频在线| 只有这里有精品99| 久久久a久久爽久久v久久| 国产精品女同一区二区软件| 亚洲国产日韩一区二区| 美女福利国产在线 | 国产爱豆传媒在线观看| 乱系列少妇在线播放| 亚洲精品aⅴ在线观看| 日韩亚洲欧美综合| 男的添女的下面高潮视频| 秋霞在线观看毛片| 亚洲精品久久久久久婷婷小说| 国产人妻一区二区三区在| 男的添女的下面高潮视频| 97精品久久久久久久久久精品| 人妻夜夜爽99麻豆av| 简卡轻食公司| 日韩人妻高清精品专区| 国产精品99久久99久久久不卡 | 精品久久国产蜜桃| 久久毛片免费看一区二区三区| 深爱激情五月婷婷| 成人高潮视频无遮挡免费网站| 男男h啪啪无遮挡| 大陆偷拍与自拍| 99久国产av精品国产电影| 久久久久久九九精品二区国产| 国产乱来视频区| 欧美精品一区二区免费开放| 18禁动态无遮挡网站| 菩萨蛮人人尽说江南好唐韦庄| 国产 一区 欧美 日韩| 国产精品三级大全| 亚洲,欧美,日韩| 少妇猛男粗大的猛烈进出视频| 在线天堂最新版资源| a 毛片基地| 一区二区三区精品91| 特大巨黑吊av在线直播| 国产成人免费观看mmmm| 97在线人人人人妻| xxx大片免费视频| 日本欧美视频一区| 国产亚洲午夜精品一区二区久久| 色5月婷婷丁香| 亚洲成人手机| 人妻夜夜爽99麻豆av| 国产精品国产三级国产专区5o| 少妇人妻一区二区三区视频| 亚洲人成网站在线播| 亚洲欧洲国产日韩| 久久久久久久久久久丰满| 国产一区亚洲一区在线观看| 亚洲av中文字字幕乱码综合| 亚洲精品国产色婷婷电影| 成人一区二区视频在线观看| 综合色丁香网| 91久久精品电影网| 97在线人人人人妻| 日本av手机在线免费观看| 国产爱豆传媒在线观看| 97在线人人人人妻| 校园人妻丝袜中文字幕| 午夜福利高清视频| 精品亚洲成国产av| 亚洲,一卡二卡三卡| 中文字幕av成人在线电影| 老师上课跳d突然被开到最大视频| 18禁在线播放成人免费| 纵有疾风起免费观看全集完整版| 亚洲av在线观看美女高潮| 少妇裸体淫交视频免费看高清| 91久久精品电影网| av在线app专区| 嫩草影院新地址| 久久精品人妻少妇| 国产精品麻豆人妻色哟哟久久| 久久 成人 亚洲| 一区二区三区精品91| 国产淫语在线视频| 午夜老司机福利剧场| 免费观看a级毛片全部| 午夜免费男女啪啪视频观看| av不卡在线播放| 最新中文字幕久久久久| 尾随美女入室| 国产精品嫩草影院av在线观看| 视频区图区小说|