• <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é)同仿真研究
    亚洲天堂国产精品一区在线| av中文乱码字幕在线| 国产精品98久久久久久宅男小说| 亚洲av成人不卡在线观看播放网| 日韩精品免费视频一区二区三区| 国产黄色小视频在线观看| 日本一区二区免费在线视频| 最新美女视频免费是黄的| 精品欧美一区二区三区在线| 日日夜夜操网爽| 在线十欧美十亚洲十日本专区| 超碰成人久久| 老司机靠b影院| 精品久久久久久,| 国产av一区二区精品久久| 90打野战视频偷拍视频| 一边摸一边抽搐一进一小说| e午夜精品久久久久久久| 成人特级黄色片久久久久久久| 999久久久国产精品视频| 99re在线观看精品视频| 天堂动漫精品| 亚洲国产精品成人综合色| 久久久久国内视频| 欧美日韩一级在线毛片| 免费在线观看成人毛片| 一本精品99久久精品77| 一本大道久久a久久精品| 午夜激情av网站| 欧美激情久久久久久爽电影| 午夜免费成人在线视频| 欧美性猛交╳xxx乱大交人| 99热6这里只有精品| 日日爽夜夜爽网站| av中文乱码字幕在线| or卡值多少钱| 中出人妻视频一区二区| 曰老女人黄片| 亚洲成人国产一区在线观看| 好男人在线观看高清免费视频 | 日韩中文字幕欧美一区二区| 亚洲国产欧洲综合997久久, | 韩国精品一区二区三区| 亚洲av日韩精品久久久久久密| 香蕉丝袜av| 俄罗斯特黄特色一大片| 免费人成视频x8x8入口观看| 一区二区三区精品91| 好男人在线观看高清免费视频 | 老司机靠b影院| 国产成人系列免费观看| 岛国视频午夜一区免费看| 一a级毛片在线观看| avwww免费| 亚洲成人国产一区在线观看| 午夜福利一区二区在线看| 国产精品久久久人人做人人爽| 老汉色av国产亚洲站长工具| 一本一本综合久久| 日本一本二区三区精品| 18禁观看日本| 香蕉丝袜av| 亚洲免费av在线视频| 中文资源天堂在线| 国产av在哪里看| 亚洲av电影在线进入| 精品一区二区三区四区五区乱码| 757午夜福利合集在线观看| 美女大奶头视频| 免费女性裸体啪啪无遮挡网站| 最新在线观看一区二区三区| www日本在线高清视频| 美女大奶头视频| 亚洲一码二码三码区别大吗| 午夜福利成人在线免费观看| 亚洲av中文字字幕乱码综合 | 最近在线观看免费完整版| 国产久久久一区二区三区| 在线观看舔阴道视频| 亚洲 欧美 日韩 在线 免费| 日韩欧美国产一区二区入口| 国产精品日韩av在线免费观看| 免费看十八禁软件| 亚洲性夜色夜夜综合| 欧美成狂野欧美在线观看| 成人18禁在线播放| 欧美乱码精品一区二区三区| 一进一出抽搐gif免费好疼| 国产在线观看jvid| 亚洲精品粉嫩美女一区| 男女视频在线观看网站免费 | 熟女少妇亚洲综合色aaa.| 久久国产亚洲av麻豆专区| 麻豆久久精品国产亚洲av| 99re在线观看精品视频| 国产精品日韩av在线免费观看| www.www免费av| 亚洲成国产人片在线观看| 91麻豆精品激情在线观看国产| 久久久久久大精品| 亚洲精华国产精华精| 亚洲成av人片免费观看| 久久久久久久久久黄片| 欧美日韩亚洲综合一区二区三区_| 色播亚洲综合网| 国内精品久久久久久久电影| 一区福利在线观看| 男女床上黄色一级片免费看| 我的亚洲天堂| 热re99久久国产66热| 大香蕉久久成人网| 国内精品久久久久久久电影| xxx96com| 老司机深夜福利视频在线观看| 大型av网站在线播放| 制服诱惑二区| 久久草成人影院| 精品久久久久久久末码| 国产视频内射| 中文在线观看免费www的网站 | 成人欧美大片| 精品久久久久久久久久久久久 | 夜夜看夜夜爽夜夜摸| 777久久人妻少妇嫩草av网站| 一进一出抽搐动态| 日本免费a在线| 视频区欧美日本亚洲| 69av精品久久久久久| 麻豆国产av国片精品| 精品久久蜜臀av无| 首页视频小说图片口味搜索| 国产精品一区二区免费欧美| av电影中文网址| 高潮久久久久久久久久久不卡| 在线观看舔阴道视频| 夜夜看夜夜爽夜夜摸| avwww免费| 久久狼人影院| 亚洲国产欧洲综合997久久, | 色尼玛亚洲综合影院| 精品一区二区三区四区五区乱码| 午夜成年电影在线免费观看| 韩国av一区二区三区四区| 看片在线看免费视频| 亚洲色图av天堂| 91成人精品电影| 国产免费av片在线观看野外av| 丰满的人妻完整版| 日韩视频一区二区在线观看| 亚洲精华国产精华精| 日韩av在线大香蕉| 久久香蕉激情| 久久精品成人免费网站| 操出白浆在线播放| 99久久精品国产亚洲精品| 好看av亚洲va欧美ⅴa在| 97人妻精品一区二区三区麻豆 | 欧美成狂野欧美在线观看| 丰满人妻熟妇乱又伦精品不卡| 欧美日韩瑟瑟在线播放| 欧美又色又爽又黄视频| 国产精品一区二区三区四区久久 | 成人亚洲精品一区在线观看| 亚洲片人在线观看| 变态另类丝袜制服| 亚洲中文av在线| 亚洲欧美激情综合另类| 丰满人妻熟妇乱又伦精品不卡| 亚洲 欧美一区二区三区| www日本在线高清视频| av中文乱码字幕在线| 在线永久观看黄色视频| 国产亚洲精品久久久久5区| 麻豆国产av国片精品| 一夜夜www| 天天添夜夜摸| 中国美女看黄片| 黑丝袜美女国产一区| 精品久久久久久久末码| 日本免费a在线| 久久这里只有精品19| av超薄肉色丝袜交足视频| 99久久国产精品久久久| 两人在一起打扑克的视频| 欧美久久黑人一区二区| 亚洲第一电影网av| 久久 成人 亚洲| 日本黄色视频三级网站网址| 欧美成人午夜精品| 欧美+亚洲+日韩+国产| 草草在线视频免费看| 琪琪午夜伦伦电影理论片6080| 一级片免费观看大全| 久久久国产成人精品二区| 一级毛片精品| 亚洲成人久久性| 哪里可以看免费的av片| www.精华液| 亚洲国产欧美日韩在线播放| 母亲3免费完整高清在线观看| 一级毛片精品| 日韩欧美三级三区| 午夜久久久在线观看| 精品电影一区二区在线| 丝袜人妻中文字幕| 在线十欧美十亚洲十日本专区| 日本精品一区二区三区蜜桃| 午夜成年电影在线免费观看| 无遮挡黄片免费观看| 高清毛片免费观看视频网站| 欧美国产精品va在线观看不卡| 欧美在线黄色| 一夜夜www| 久久伊人香网站| 婷婷亚洲欧美| 久久精品国产亚洲av香蕉五月| 国产精品av久久久久免费| 狂野欧美激情性xxxx| 一区二区三区国产精品乱码| 国产男靠女视频免费网站| 免费观看人在逋| 成熟少妇高潮喷水视频| 熟妇人妻久久中文字幕3abv| 国产亚洲精品第一综合不卡| 俄罗斯特黄特色一大片| 国产成人欧美在线观看| 成人一区二区视频在线观看| 色老头精品视频在线观看| 韩国精品一区二区三区| 久久中文字幕人妻熟女| 欧美最黄视频在线播放免费| 日韩欧美一区二区三区在线观看| 少妇的丰满在线观看| 久久婷婷成人综合色麻豆| 狠狠狠狠99中文字幕| 成人一区二区视频在线观看| 1024香蕉在线观看| 国产亚洲欧美精品永久| 国产精品综合久久久久久久免费| 美女高潮到喷水免费观看| 99热6这里只有精品| 国产亚洲精品一区二区www| 黄网站色视频无遮挡免费观看| www日本黄色视频网| 老鸭窝网址在线观看| 后天国语完整版免费观看| 91大片在线观看| 在线观看www视频免费| 久久久久久久久久黄片| 这个男人来自地球电影免费观看| 久久人妻av系列| 动漫黄色视频在线观看| 亚洲第一青青草原| 亚洲精品久久国产高清桃花| 法律面前人人平等表现在哪些方面| av电影中文网址| 婷婷精品国产亚洲av在线| 亚洲性夜色夜夜综合| 精品无人区乱码1区二区| 日日摸夜夜添夜夜添小说| 久久久久久人人人人人| 国产欧美日韩精品亚洲av| 一进一出抽搐动态| 国产亚洲精品av在线| 亚洲人成网站在线播放欧美日韩| 黄片小视频在线播放| e午夜精品久久久久久久| 亚洲一区中文字幕在线| 国产三级在线视频| 一夜夜www| 欧美一级毛片孕妇| 国产99白浆流出| 亚洲av日韩精品久久久久久密| 97超级碰碰碰精品色视频在线观看| 日韩大尺度精品在线看网址| 国产精品国产高清国产av| 午夜福利18| 欧美在线一区亚洲| 熟女少妇亚洲综合色aaa.| 岛国在线观看网站| 丁香欧美五月| www.www免费av| 国产伦一二天堂av在线观看| 日本 av在线| 丝袜人妻中文字幕| 一本精品99久久精品77| 亚洲色图av天堂| 国产欧美日韩精品亚洲av| 国产av一区在线观看免费| 亚洲成人精品中文字幕电影| e午夜精品久久久久久久| 国产高清视频在线播放一区| 日韩大码丰满熟妇| 久久国产精品影院| av超薄肉色丝袜交足视频| 熟妇人妻久久中文字幕3abv| 日韩欧美免费精品| 中文资源天堂在线| 亚洲性夜色夜夜综合| 丁香六月欧美| 国产午夜精品久久久久久| 日韩欧美国产在线观看| 日韩欧美一区视频在线观看| 亚洲成国产人片在线观看| 波多野结衣高清无吗| 欧美人与性动交α欧美精品济南到| 少妇 在线观看| а√天堂www在线а√下载| 亚洲国产欧美网| 国产欧美日韩精品亚洲av| 观看免费一级毛片| 日韩精品青青久久久久久| 免费女性裸体啪啪无遮挡网站| 国产片内射在线| 一区二区三区激情视频| 亚洲第一青青草原| 操出白浆在线播放| 国产又黄又爽又无遮挡在线| 美女国产高潮福利片在线看| 在线视频色国产色| 国产三级黄色录像| 免费在线观看黄色视频的| 91在线观看av| 一a级毛片在线观看| 国产亚洲av嫩草精品影院| 国产激情偷乱视频一区二区| 国产精品影院久久| 欧美在线一区亚洲| 国产99久久九九免费精品| 久久久国产欧美日韩av| 国产成人精品无人区| 精品一区二区三区av网在线观看| 欧美av亚洲av综合av国产av| 丝袜美腿诱惑在线| √禁漫天堂资源中文www| 天天躁夜夜躁狠狠躁躁| av在线播放免费不卡| АⅤ资源中文在线天堂| 久99久视频精品免费| 男女那种视频在线观看| 麻豆成人av在线观看| 国产成年人精品一区二区| 免费在线观看亚洲国产| 国产精品免费视频内射| 国产三级黄色录像| 可以免费在线观看a视频的电影网站| 久久国产精品影院| a级毛片a级免费在线| 亚洲avbb在线观看| 妹子高潮喷水视频| 国产精品自产拍在线观看55亚洲| 国产精品美女特级片免费视频播放器 | 亚洲国产中文字幕在线视频| 国产av在哪里看| 日韩大码丰满熟妇| 真人做人爱边吃奶动态| 久久亚洲精品不卡| 国产色视频综合| 9191精品国产免费久久| 亚洲真实伦在线观看| 啪啪无遮挡十八禁网站| 欧美最黄视频在线播放免费| av有码第一页| 亚洲av片天天在线观看| 国产精品自产拍在线观看55亚洲| 欧美乱色亚洲激情| 99国产精品一区二区蜜桃av| 久热爱精品视频在线9| 中亚洲国语对白在线视频| 老司机在亚洲福利影院| 久久久久国内视频| 久久久久久免费高清国产稀缺| 俺也久久电影网| 黑人巨大精品欧美一区二区mp4| 男女视频在线观看网站免费 | 久久精品国产亚洲av香蕉五月| 法律面前人人平等表现在哪些方面| 在线观看一区二区三区| 国产激情久久老熟女| 久久久国产欧美日韩av| 国产私拍福利视频在线观看| 啦啦啦 在线观看视频| 很黄的视频免费| 国产亚洲av高清不卡| 俄罗斯特黄特色一大片| 国产久久久一区二区三区| 男人舔女人的私密视频| 欧美黑人巨大hd| 欧美日本视频| 国产一卡二卡三卡精品| 午夜激情福利司机影院| 国产黄片美女视频| www.999成人在线观看| 精品久久蜜臀av无| 悠悠久久av| 免费人成视频x8x8入口观看| 国产精品一区二区免费欧美| 婷婷六月久久综合丁香| 久久热在线av| 国产午夜精品久久久久久| 窝窝影院91人妻| 久久久国产精品麻豆| 9191精品国产免费久久| 一夜夜www| 曰老女人黄片| 禁无遮挡网站| 日韩免费av在线播放| 精品一区二区三区四区五区乱码| 成人三级黄色视频| 欧美一级毛片孕妇| 一进一出好大好爽视频| 黄色a级毛片大全视频| 十八禁网站免费在线| 欧美最黄视频在线播放免费| 成在线人永久免费视频| 亚洲av成人一区二区三| 国产成年人精品一区二区| 99热这里只有精品一区 | 91国产中文字幕| 免费一级毛片在线播放高清视频| 婷婷六月久久综合丁香| 欧美大码av| 免费在线观看完整版高清| 一级毛片女人18水好多| 黑丝袜美女国产一区| 欧美绝顶高潮抽搐喷水| 18美女黄网站色大片免费观看| 亚洲成人免费电影在线观看| 亚洲成人久久爱视频| 女人高潮潮喷娇喘18禁视频| 国产亚洲欧美精品永久| 在线免费观看的www视频| 免费在线观看日本一区| 叶爱在线成人免费视频播放| 国产黄片美女视频| 精品欧美国产一区二区三| 成人国产一区最新在线观看| 亚洲成国产人片在线观看| 一区福利在线观看| 50天的宝宝边吃奶边哭怎么回事| 久久久精品欧美日韩精品| 亚洲最大成人中文| 黄片大片在线免费观看| 精品电影一区二区在线| 免费看日本二区| 国产蜜桃级精品一区二区三区| 男女那种视频在线观看| 国产精品爽爽va在线观看网站 | 18禁国产床啪视频网站| 国产片内射在线| 久久亚洲精品不卡| 国产精品久久久久久亚洲av鲁大| 精品无人区乱码1区二区| 国产成人系列免费观看| 亚洲欧洲精品一区二区精品久久久| 男人舔女人下体高潮全视频| 久久久久久久久免费视频了| 欧美性猛交黑人性爽| 99国产精品一区二区三区| 免费看十八禁软件| 天天躁夜夜躁狠狠躁躁| 人妻久久中文字幕网| 欧美激情 高清一区二区三区| 日日摸夜夜添夜夜添小说| 欧美激情高清一区二区三区| av免费在线观看网站| 后天国语完整版免费观看| 日本免费一区二区三区高清不卡| 成年女人毛片免费观看观看9| 午夜福利一区二区在线看| 久久青草综合色| 极品教师在线免费播放| 国语自产精品视频在线第100页| 欧美乱妇无乱码| 人人妻,人人澡人人爽秒播| 免费看日本二区| 亚洲激情在线av| 国产1区2区3区精品| 日韩三级视频一区二区三区| 亚洲国产日韩欧美精品在线观看 | 久久青草综合色| www.999成人在线观看| 一级毛片女人18水好多| 国产亚洲精品久久久久5区| 精品少妇一区二区三区视频日本电影| a在线观看视频网站| 精品一区二区三区视频在线观看免费| 中文字幕精品亚洲无线码一区 | 国产区一区二久久| 久久天堂一区二区三区四区| 国产成人精品久久二区二区免费| 亚洲av熟女| 精品一区二区三区视频在线观看免费| 97超级碰碰碰精品色视频在线观看| 久久精品aⅴ一区二区三区四区| 50天的宝宝边吃奶边哭怎么回事| 香蕉丝袜av| 欧美成人午夜精品| 老司机午夜十八禁免费视频| 久久久国产欧美日韩av| 少妇的丰满在线观看| 精华霜和精华液先用哪个| 老司机午夜福利在线观看视频| 国产成人系列免费观看| 国产成人啪精品午夜网站| 国产欧美日韩一区二区三| 久久久久精品国产欧美久久久| 国产在线观看jvid| 亚洲男人的天堂狠狠| 国产一卡二卡三卡精品| 国产亚洲精品av在线| 精品久久久久久久末码| 日韩精品青青久久久久久| 欧美中文综合在线视频| 国产一区二区激情短视频| 日韩精品中文字幕看吧| 在线观看日韩欧美| 国产真人三级小视频在线观看| 国产在线精品亚洲第一网站| 香蕉丝袜av| 亚洲国产高清在线一区二区三 | 色哟哟哟哟哟哟| 桃色一区二区三区在线观看| 亚洲成人国产一区在线观看| 女人爽到高潮嗷嗷叫在线视频| 日韩高清综合在线| 2021天堂中文幕一二区在线观 | 90打野战视频偷拍视频| 一级a爱视频在线免费观看| 热99re8久久精品国产| 久久亚洲精品不卡| 亚洲中文日韩欧美视频| 午夜福利在线观看吧| 大型黄色视频在线免费观看| svipshipincom国产片| 久久久国产精品麻豆| 一二三四在线观看免费中文在| 日韩有码中文字幕| 久久精品aⅴ一区二区三区四区| 久久国产亚洲av麻豆专区| 男女视频在线观看网站免费 | 一个人免费在线观看的高清视频| 亚洲专区国产一区二区| 日本撒尿小便嘘嘘汇集6| 色综合亚洲欧美另类图片| 热re99久久国产66热| 中国美女看黄片| 女人高潮潮喷娇喘18禁视频| 男女那种视频在线观看| 午夜亚洲福利在线播放| 老司机靠b影院| 亚洲精品国产一区二区精华液| 国产精品九九99| 国产精品一区二区精品视频观看| 18禁黄网站禁片午夜丰满| 草草在线视频免费看| 亚洲av成人一区二区三| 亚洲五月婷婷丁香| 18禁黄网站禁片免费观看直播| 欧美一级a爱片免费观看看 | 亚洲男人的天堂狠狠| 欧美性猛交黑人性爽| 黑人巨大精品欧美一区二区mp4| 亚洲成a人片在线一区二区| 亚洲av美国av| 欧美 亚洲 国产 日韩一| 午夜精品久久久久久毛片777| 男人舔女人下体高潮全视频| 一级毛片高清免费大全| 在线观看午夜福利视频| 久久国产乱子伦精品免费另类| 午夜成年电影在线免费观看| 成在线人永久免费视频| 不卡一级毛片| 亚洲男人的天堂狠狠| 亚洲人成77777在线视频| 夜夜看夜夜爽夜夜摸| 欧美一级毛片孕妇| 91国产中文字幕| 免费在线观看影片大全网站| 国产激情久久老熟女| 亚洲av电影在线进入| 亚洲 欧美 日韩 在线 免费| www国产在线视频色| 久久久水蜜桃国产精品网| 国产精品免费视频内射| 亚洲一区高清亚洲精品| 十八禁网站免费在线| 美女国产高潮福利片在线看| 精品无人区乱码1区二区| 亚洲男人天堂网一区| 好看av亚洲va欧美ⅴa在| 欧美黑人巨大hd| 亚洲国产欧美日韩在线播放| 亚洲精品国产一区二区精华液| a级毛片a级免费在线| 一级a爱视频在线免费观看| 别揉我奶头~嗯~啊~动态视频| 最好的美女福利视频网| 久久久久久久久免费视频了| 亚洲黑人精品在线| 2021天堂中文幕一二区在线观 | 国产精品爽爽va在线观看网站 | 国产精品久久视频播放| 无遮挡黄片免费观看| 日日摸夜夜添夜夜添小说| a在线观看视频网站| 精品国产一区二区三区四区第35| 久久久久久久久中文| 一本一本综合久久| 婷婷六月久久综合丁香| 无限看片的www在线观看| 国产国语露脸激情在线看| 99热只有精品国产| 老熟妇乱子伦视频在线观看|