freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

分布式網(wǎng)絡(luò)爬蟲-總體設(shè)計-文庫吧資料

2025-07-05 20:52本頁面
  

【正文】 如何從中抽取到你想要的信息?WebMagic里主要使用了三種抽取技術(shù):XPath、正則表達式和CSS選擇器。 ()。 try { //添加到JMT監(jiān)控中 ().register(oschinaSpider)。webmagic默認有3秒抓取間隔,請耐心等待。 int temp=1。表1 爬蟲函數(shù)及其功能表方法說明示例create(PageProcessor)創(chuàng)建Spider(new GithubRepoProcessor())addUrl(String…)添加初始的URLspider .addUrl()addRequest(Request...)添加初始的Requestspider .addRequest()thread(n)開啟n個線程(5)run()啟動,會阻塞當前線程執(zhí)行()start()/runAsync()異步啟動,當前線程繼續(xù)執(zhí)行()stop()停止爬蟲()test(String)抓取一個頁面進行測試spider .test()addPipeline(Pipeline)添加一個Pipeline,一個Spider可以有多個Pipelinespider .addPipeline(new ConsolePipeline())setScheduler(Scheduler)設(shè)置Scheduler,一個Spider只能有個一個Scheduler(new RedisScheduler())setDownloader(Downloader)設(shè)置Downloader,一個Spider只能有個一個Downloaderspider .setDownloader(new SeleniumDownloader())get(String)同步調(diào)用,并直接取得結(jié)果ResultItems result = spider .get()getAll(String…)同步調(diào)用,并直接取得一堆結(jié)果ListResultItems results = spider .getAll(, )對站點本身的一些配置信息,例如編碼、HTTP頭、超時時間、重試策略等、代理等,都可以通過設(shè)置Site對象來進行配置。在啟動爬蟲之前,我們需要使用一個PageProcessor創(chuàng)建一個Spider對象,然后使用run()進行啟動。為了避免下載一個頁面兩次,爬蟲系統(tǒng)需要策略來處理爬蟲運行時新發(fā)現(xiàn)的URL,因為同一個URL地址,可能被不同的爬蟲進程抓到。(Brin和Page,1998)并行策略一個并行爬蟲是并行運行多個進程的爬蟲。Brin和Page注意到:運行一個針對超過50萬服務(wù)器的爬蟲,會產(chǎn)生很多的郵件和電話。訪問記錄顯示已知爬蟲的訪問間隔從20秒鐘到34分鐘不等。Dill等人 (Dill et al., 2002) 使用1秒。Cho(Cho和GarciaMolina, 2003)使用10秒作為訪問的間隔時間,WIRE爬蟲(BaezaYates and Castillo, 2002)使用15秒作為默認間隔。按照這個速度,如果一個站點有超過10萬的頁面,即使我們擁有零延遲和無窮帶寬的完美連接,它也會需要兩個月的時間來下載整個站點,并且,這個服務(wù)器中的資源,只有一小部分可以使用。最近的商業(yè)搜索軟件,如Ask Jeeves, “Crawldelay”參數(shù)來指明請求之間的延遲。對這些問題的一個部分解決方法是漫游器排除協(xié)議(Robots exclusion protocol),(Koster,1996),這份協(xié)議對于管理員指明網(wǎng)絡(luò)服務(wù)器的那一部分不能到達是一個標準。216。216。216。使用爬蟲的代價包括:216。一個服務(wù)器也會很難響應(yīng)多線程爬蟲的請求。平衡禮貌策略爬蟲相比于人,可以有更快的檢索速度和更深的層次,所以,他們可能使一個站點癱瘓。(Cho和GarciaMolina,2003a)指出指數(shù)變化是描述頁面變化的好方法,同時(Ipeirotis等人,2005)指出了怎么使用統(tǒng)計工具去發(fā)現(xiàn)適合這些變化的參數(shù)。正如Coffman等人(Edward ,1998)所注意到的:“為了最小化頁面過時的時間,對任一個頁面的訪問都應(yīng)該盡可能的均勻間隔地訪問。最佳的重新訪問策略既不是統(tǒng)一策略,也不是正比策略;保持平均頁面新鮮度高的最佳方法策略包括忽略那些變化太快的頁面,而保持頁面平均過時性低的方法則是對每一頁按照頁面變化率單調(diào)變化的策略訪問。對于這種結(jié)果的解釋是:當一個頁面變化太快的時候,爬蟲將會將會在不斷的嘗試重新抓取而浪費很多時間,但是卻還是不能保證頁面的新鮮度。(兩種情況下,爬蟲的重新抓取都可以采用隨機方式,或者固定的順序)Cho和GarciaMolina證明了一個出人意料的結(jié)果。正比策略:對變化越多的網(wǎng)頁,重新訪問的頻率也越高。這一目標并不是完全一樣的,第一種情況,爬蟲關(guān)心的是有多少頁面時過時的;在第二種情況,爬蟲關(guān)心的頁面過時了多少。在這個模型下,每一個顧客在投票系統(tǒng)的平均時間,相當于爬蟲的平均過時性。他們指出網(wǎng)絡(luò)爬行的問題就相當于多個隊列,一個投票系統(tǒng);這里,爬蟲是服務(wù)器,不同的站點是隊列。在時間t內(nèi),倉庫中頁面p的新鮮度是這樣定義的:新鮮度過時性:這是一個衡量本地已抓取的內(nèi)容過時程度的指標。從搜索引擎的角度來看,不檢測這些事件是有成本的,成本就是我們僅僅擁有一份過時的資源。抓取網(wǎng)絡(luò)上的一小部分內(nèi)容可能會花費真的很長的時間,通常用周或者月來衡量。第三代檢索技術(shù)將建立在人機巧妙的聯(lián)系的基礎(chǔ)上。某些情況下,例如Googlebot,WEB抓取的是所有超文本所包含的內(nèi)容,標簽和文本。深層頁面抓取器增加了抓取網(wǎng)頁的鏈接數(shù)。這些頁面通常只有在向數(shù)據(jù)庫提交查詢的時候才可以訪問到,如果沒有鏈接指向他們的話,一般的爬蟲是不能訪問到這些頁面的。一個聚焦查詢的表現(xiàn)的好壞主要依賴于查詢主題內(nèi)容的豐富程度,通常還會依賴頁面查詢引擎提供的查詢起點。一個可能的方法就是在鏈接之中設(shè)置錨點,這就是在早期時候,Pinkerton(Pinkerton,1994)曾經(jīng)在一個爬蟲中采用的策略。 Menczer and Belew, 1998)和Chakrabarti等人首先提出來的(Chakrabarti et al., 1999)。網(wǎng)絡(luò)爬蟲嘗試下載相似頁面,可以稱為聚焦檢索或者主題檢索。一些路徑檢索的爬蟲也被稱為收割機軟件,因為他們通常用于收割或者收集所有的內(nèi)容,可能是從特定的頁面或者主機收集相冊的照片。例如,給定一個種子地址:它將會嘗試檢索/hamster/menkey/,/hamster/和/ 。路徑檢索一些爬蟲會盡可能多的嘗試下載一個特定站點的資源。這種策略會導(dǎo)致很多的html資源在無意中錯過,一種相似的策略是將網(wǎng)絡(luò)資源的擴展名同已知是html文件類型的一組擴展名(,.htm,.asp,.php,.aspx,反斜杠)進行比較。為了僅僅得到html的資源,一個爬蟲可以首先做一個 head的請求,以在使用request方法獲取所有的資源之前,決定這個網(wǎng)絡(luò)文件的類型。使用這種方式,可以從以前抓取頁面之中找到好的種子,使用這些種子是十分有效的。Daneshpajouh等人(Daneshpajouh et al., 2008)設(shè)計了一個用于尋找好種子的社區(qū)。BaezaYates等人(BaezaYates et al., 2005) ,比較若干個抓取策略。比較的基礎(chǔ)是真實頁面pageRank值和計算出來的pageRank值的接近程度。并且,實驗沒有和其它策略進行比較,也沒有在真正的WEB頁面測試。這種算法與Pagerank相似,但是他的速度很快,并且可以一次完成?!盇biteboul (Abiteboul 等人, 2003),設(shè)計了一種基于OPIC(在線頁面重要指數(shù))的抓取戰(zhàn)略。他們發(fā)現(xiàn)廣度優(yōu)先會較早的抓到PageRank高的頁面(但是他們沒有采用其他策略進行研究)。并且,這樣的結(jié)果僅僅是針對一個站點的。排序的方法使用了廣度優(yōu)先,后鏈計數(shù),和部分pagerank算法。Cho等人(Cho et al,1998)做了第一份抓取策略的研究。這就要求一個公共標準來區(qū)分網(wǎng)頁的重要程度,一個頁面的重要程度與他自身的質(zhì)量有關(guān),與按照鏈接數(shù)、訪問數(shù)得出的受歡迎程度有關(guān),甚至與他本身的網(wǎng)址(后來出現(xiàn)的把搜索放在一個頂級域名或者一個固定頁面上的垂直搜索)有關(guān)。由勞倫斯河蓋爾斯共同做的一項研究指出,沒有一個搜索引擎抓取的內(nèi)容達到網(wǎng)絡(luò)的16%(勞倫斯河蓋爾斯,2001)。網(wǎng)頁爬蟲的行為通常是四種策略組合的結(jié)果。正如愛德華等人所說的:“用于檢索的帶寬不是無限的,也不是免費的;所以,如果引入衡量爬蟲抓取質(zhì)量或者新鮮度的有效指標的話,不但伸縮性,連有效性都將變得十分必要”(愛德華等人,2001年)。如果這里存著四種分類方式,三種縮略圖方式,兩種文件格式,和一個禁止用戶提供內(nèi)容的選項,那么,同樣的內(nèi)容就可以通過48種方式訪問。最近新增的很多頁面都是通過服務(wù)器端腳本語言產(chǎn)生的,無窮的參數(shù)組合也增加了爬蟲抓取的難度,只有一小部分這種組合會返回一些獨特的內(nèi)容。動態(tài)頁面的產(chǎn)生它們?nèi)齻€特征一起產(chǎn)生了很多種類的爬蟲抓取鏈接。 它快速的更新頻率;216。2) 超文本分類和聚類算法根據(jù)網(wǎng)頁鏈接網(wǎng)頁的相關(guān)類型對網(wǎng)頁進行分類,依靠相關(guān)聯(lián)的網(wǎng)頁推測該網(wǎng)頁的類型 爬行策略下述的三種網(wǎng)絡(luò)特征,造成了設(shè)計網(wǎng)頁爬蟲抓取策略變得很難:216?;谖谋镜木W(wǎng)頁分析算法1) 純文本分類與聚類算法很大程度上借用了文本檢索的技術(shù)。因此,基于網(wǎng)頁內(nèi)容的分析算法也從原來的較為單純的文本檢索方法,發(fā)展為涵蓋網(wǎng)頁數(shù)據(jù)抽取、機器學(xué)習、數(shù)據(jù)挖掘、語義理解等多種方法的綜合應(yīng)用。網(wǎng)頁的內(nèi)容從原來的以超文本為主,發(fā)展到后來動態(tài)頁面(或稱為Hidden Web)數(shù)據(jù)為主,后者的數(shù)據(jù)量約為直接可見頁面數(shù)據(jù)(PIW,Publicly Indexable Web)的400~500倍。已經(jīng)有人實現(xiàn)了塊級別的PageRank和HITS算法,并通過實驗證明,效率和準確率都比傳統(tǒng)的對應(yīng)算法要好。在網(wǎng)頁塊級別(Block level)進行鏈接分析的算法的基本思想是通過VIPS網(wǎng)頁分割算法將網(wǎng)頁分為不同的網(wǎng)頁塊(page block),然后對這些網(wǎng)頁塊建立page to block和block to page的鏈接矩陣,分別記為Z和X。3 網(wǎng)頁塊粒度的分析算法在一個頁面中,往往含有多個指向其他頁面的鏈接,這些鏈接中只有一部分是指向主題相關(guān)網(wǎng)頁的,或根據(jù)網(wǎng)頁的鏈接錨文本表明其具有較高重要性。文獻[18]證明,利用分布式的SiteRank計算,不僅大大降低了單機站點的算法代價,而且克服了單獨站點對整個網(wǎng)絡(luò)覆蓋率有限的缺點。文獻[18]討論了在分布式情況下,通過對同一個域名下不同主機、服務(wù)器的IP地址進行站點劃分,構(gòu)造站點圖,利用類似PageRank的方法評價SiteRank。SiteRank的計算方法與PageRank類似,但是需要對網(wǎng)站之間的鏈接作一定程度抽象,并在一定的模型下計算鏈接的權(quán)重。2 網(wǎng)站粒度的分析算法網(wǎng)站粒度的資源發(fā)現(xiàn)和管理策略也比網(wǎng)頁粒度的更簡單有效?;阪溄拥淖ト〉膯栴}是相關(guān)頁面主題團之間的隧道現(xiàn)象,即很多在抓取路徑上偏離主題的網(wǎng)頁也指向目標網(wǎng)頁,局部評價策略中斷了在當前路徑上的抓取行為。PageRank算法雖然考慮了用戶訪問行為的隨機性和Sink網(wǎng)頁的存在,但忽略了絕大多數(shù)用戶訪問時帶有目的性,即網(wǎng)頁和鏈接與查詢主題的相關(guān)性。又分為網(wǎng)頁粒度、網(wǎng)站粒度和網(wǎng)頁塊粒度這三種。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率將變低。其基本思想是認為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。在目前為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。 網(wǎng)頁搜索策略廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。Saxon是一個XPath、XSLT的解析工具。Selenium是一個模擬瀏覽器進行頁面渲染的工具,WebMagic依賴Selenium進行動態(tài)頁面的抓取。同時強調(diào)腳本的共享。因為時間有限,這些例子有些使用的仍然是老版本的API,也可能有一些因為目標頁面的結(jié)構(gòu)變化不再可用了。因為精力有限,這些包沒有經(jīng)過廣泛的使用和測試,推薦使用方式是自行下載源碼,遇到問題后再修改。包括注解格式定義爬蟲、JSON、分布式等支持。WebMagiccore的目標是成為網(wǎng)頁爬蟲的一個教科書般的實現(xiàn)。它們都是獨立的Maven項目。而Spider則將這幾個組件組織
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1