国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)界的達(dá)克摩斯之劍----深入淺出帶你理解網(wǎng)絡(luò)爬蟲(Forth)

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)界的達(dá)克摩斯之劍----深入淺出帶你理解網(wǎng)絡(luò)爬蟲(Forth)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

3.爬蟲身份識別

4.用戶爬蟲的例子

4.1 開源爬蟲

網(wǎng)絡(luò)爬蟲的組成

控制器

解析器

資源庫


3.爬蟲身份識別

網(wǎng)絡(luò)爬蟲通過使用http請求的用戶代理(User Agent)字段來向網(wǎng)絡(luò)服務(wù)器表明他們的身份。網(wǎng)絡(luò)管理員則通過檢查網(wǎng)絡(luò)服務(wù)器的日志,使用用戶代理字段來辨認(rèn)哪一個爬蟲曾經(jīng)訪問過以及它訪問的頻率。用戶代理字段可能會包含一個可以讓管理員獲取爬蟲更多信息的URL。郵件抓取器和其他懷有惡意的網(wǎng)絡(luò)爬蟲通常不會留任何的用戶代理字段內(nèi)容,或者他們也會將他們的身份偽裝成瀏覽器或者其他的知名爬蟲。

對于網(wǎng)路爬蟲,留下用戶標(biāo)志信息是十分重要的;這樣,網(wǎng)絡(luò)管理員在需要的時候就可以聯(lián)系爬蟲的主人。有時,爬蟲可能會陷入爬蟲陷阱或者使一個服務(wù)器超負(fù)荷,這時,爬蟲主人需要使爬蟲停止。對那些有興趣了解特定爬蟲訪問時間網(wǎng)絡(luò)管理員來講,用戶標(biāo)識信息是十分重要的。

4.用戶爬蟲的例子

以下是一系列已經(jīng)發(fā)布的一般用途的網(wǎng)絡(luò)爬蟲(除了主題檢索的爬蟲)的體系結(jié)構(gòu),包括了對不同組件命名和突出特點的簡短的描述。

RBSE(Eichmann,1994)是第一個發(fā)布的爬蟲。它有兩個基礎(chǔ)程序。第一個是“spider”,抓取隊列中的內(nèi)容到一個關(guān)系數(shù)據(jù)庫中,第二個程序是“mite”,是一個修改后的www的ASCII瀏覽器,負(fù)責(zé)從網(wǎng)絡(luò)上下載頁面。

WebCrawler(Pinkerton,1994)是第一個公開可用的,用來建立全文索引的一個子程序,他使用庫www來下載頁面;另外一個程序使用廣度優(yōu)先來解析獲取URL并對其排序;它還包括一個根據(jù)選定文本和查詢相似程度爬行的實時爬蟲。

World Wide Web Worm(McBryan,1994)是一個用來為文件建立包括標(biāo)題和URL簡單索引的爬蟲。索引可以通過grep式的Unix命令來搜索。

Google Crawler(Brin and Page,1998)用了一些細(xì)節(jié)來描述,但是這些細(xì)節(jié)僅僅是關(guān)于使用C++和Python編寫的、一個早期版本的體系結(jié)構(gòu)。因為文本解析就是全文檢索和URL抽取的過程,所以爬蟲集成了索引處理。這里擁有一個URL服務(wù)器,用來給幾個爬蟲程序發(fā)送要抓取的URL列表。在文本解析的時候,新發(fā)現(xiàn)的URL傳送給URL服務(wù)器并檢測這個URL是不是已經(jīng)存在,如果不存在的話,該URL就加入到URL服務(wù)器中。

CobWeb(da Silva et al.,1999)使用了一個中央“調(diào)度者”和一系列的“分布式的搜集者”。搜集者解析下載的頁面并把找到的URL發(fā)送給調(diào)度者,然后調(diào)度者反過來分配給搜集者。調(diào)度者使用深度優(yōu)先策略,并且使用平衡禮貌策略來避免服務(wù)器超載。爬蟲是使用Perl語言編寫的。

Mercator(Heydon and Najork,1999;Najork and Heydon,2001)是一個分布式的,模塊化的使用java編寫的網(wǎng)絡(luò)爬蟲。它的模塊化源自于使用可互換的的“協(xié)議模塊”和“處理模塊”。協(xié)議模塊負(fù)責(zé)怎樣獲取網(wǎng)頁(例如使用HTTP),處理模塊負(fù)責(zé)怎樣處理頁面。標(biāo)準(zhǔn)處理模塊僅僅包括了解析頁面和抽取URL,其他處理模塊可以用來檢索文本頁面,或者搜集網(wǎng)絡(luò)數(shù)據(jù)。

WebFountain(Edwards et al.,2001)是一個與Mercator類似的分布式的模塊化的爬蟲,但是使用C++編寫的。它的特點是一個管理員機器控制一系列的螞蟻機器。經(jīng)過多次下載頁面后,頁面的變化率可以推測出來,這時,一個非線性的方法必須用于求解方程以獲得一個最大的新鮮度的訪問策略。作者推薦在早期檢索階段使用這個爬蟲,然后用統(tǒng)一策略檢索,就是所有的頁面都使用相同的頻率訪問。

PolyBot(Shkapenyuk and Suel,2002)是一個使用C++和Python編寫的分布式網(wǎng)絡(luò)爬蟲。它由一個爬蟲管理者,一個或多個下載者,一個或多個DNS解析者組成。抽取到的URL被添加到硬盤的一個隊列里面,然后使用批處理的模式處理這些URL。平衡禮貌方面考慮到了第二、三級網(wǎng)域,因為第三級網(wǎng)域通常也會保存在同一個網(wǎng)絡(luò)服務(wù)器上。

WebRACE(Zeinalipour-Yazti and Dikaiakos,2002)是一個使用java實現(xiàn)的,擁有檢索模塊和緩存模塊的爬蟲,它是一個很通用的稱作eRACE的系統(tǒng)的一部分。系統(tǒng)從用戶得到下載頁面的請求,爬蟲的行為有點像一個聰明的代理服務(wù)器。系統(tǒng)還監(jiān)視訂閱網(wǎng)頁的請求,當(dāng)網(wǎng)頁發(fā)生改變的時候,它必須使爬蟲下載更新這個頁面并且通知訂閱者。WebRACE最大的特色是,當(dāng)大多數(shù)的爬蟲都從一組URL開始的時候,WebRACE可以連續(xù)地的接收抓取開始的URL地址。

Ubicrawer(Boldi et al.,2004)是一個使用java編寫的分布式爬蟲。它沒有中央程序。它由一組完全相同的代理組成,分配功能通過主機前后一致的散列計算進行。這里沒有重復(fù)的頁面,除非爬蟲崩潰了(然后,另外一個代理就會接替崩潰的代理重新開始抓取)。爬蟲設(shè)計為高伸縮性和允許失敗的。

FAST Crawler(Risvik and Michelsen,2002)是一個分布式的爬蟲,在Fast Search&Transfer中使用,關(guān)于其體系結(jié)構(gòu)的一個大致的描述可以在[citation needed]找到。

Labrador,一個工作在開源項目Terrier?Search Engine上的非開源的爬蟲。

TeezirCrawler是一個非開源的可伸縮的網(wǎng)頁抓取器,在Teezir上使用。該程序被設(shè)計為一個完整的可以處理各種類型網(wǎng)頁的爬蟲,包括各種JavaScript和HTML文檔。爬蟲既支持主題檢索也支持非主題檢索。

Spinn3r,一個通過博客構(gòu)建反饋信息的爬蟲。Spinn3r是基于java的,它的大部分的體系結(jié)構(gòu)都是開源的。

HotCrawler,一個使用c語言和php編寫的爬蟲。

ViREL Microformats Crawler,搜索公眾信息作為嵌入到網(wǎng)頁的一小部分。

除了上面列出的幾個特定的爬蟲結(jié)構(gòu)以外,還有Cho(Cho and Garcia-Molina,2002)和Chakrabarti(Chakrabarti,2003)發(fā)布的一般的爬蟲體系結(jié)構(gòu)。

4.1 開源爬蟲

DataparkSearch是一個在GNU GPL許可下發(fā)布的爬蟲搜索引擎。

GNU Wget是一個在GPL許可下,使用C語言編寫的命令行式的爬蟲。它主要用于網(wǎng)絡(luò)服務(wù)器和FTP服務(wù)器的鏡像。

Heritrix是一個互聯(lián)網(wǎng)檔案館級的爬蟲,設(shè)計的目標(biāo)為對大型網(wǎng)絡(luò)的大部分內(nèi)容的定期存檔快照,是使用java編寫的。

Ht://Dig在它和索引引擎中包括了一個網(wǎng)頁爬蟲。

HTTrack用網(wǎng)絡(luò)爬蟲創(chuàng)建網(wǎng)絡(luò)站點鏡像,以便離線觀看。它使用C語言編寫,在GPL許可下發(fā)行。

ICDL Crawler是一個用C++編寫,跨平臺的網(wǎng)絡(luò)爬蟲。它僅僅使用空閑的CPU資源,在ICDL標(biāo)準(zhǔn)上抓取整個站點。

JSpider是一個在GPL許可下發(fā)行的,高度可配置的,可定制的網(wǎng)絡(luò)爬蟲引擎。

LLarbin由Sebastien Ailleret開發(fā);

Webtools4larbin由Andreas Beder開發(fā);

Methabot是一個使用C語言編寫的高速優(yōu)化的,使用命令行方式運行的,在2-clause BSD許可下發(fā)布的網(wǎng)頁檢索器。它的主要的特性是高可配置性,模塊化;它檢索的目標(biāo)可以是本地文件系統(tǒng),HTTP或者FTP。

Nutch是一個使用java編寫,在Apache許可下發(fā)行的爬蟲。它可以用來連接Lucene的全文檢索套件;

Pavuk是一個在GPL許可下發(fā)行的,使用命令行的WEB站點鏡像工具,可以選擇使用X11的圖形界面。與wget和httprack相比,他有一系列先進的特性,如以正則表達(dá)式為基礎(chǔ)的文件過濾規(guī)則和文件創(chuàng)建規(guī)則。

WebVac是斯坦福WebBase項目使用的一個爬蟲。

WebSPHINX(Miller and Bharat,1998)是一個由java類庫構(gòu)成的,基于文本的搜索引擎。它使用多線程進行網(wǎng)頁檢索,html解析,擁有一個圖形用戶界面用來設(shè)置開始的種子URL和抽取下載的數(shù)據(jù);

WIRE-網(wǎng)絡(luò)信息檢索環(huán)境(Baeza-Yates和Castillo,2002)是一個使用C++編寫,在GPL許可下發(fā)行的爬蟲,內(nèi)置了幾種頁面下載安排的策略,還有一個生成報告和統(tǒng)計資料的模塊,所以,它主要用于網(wǎng)絡(luò)特征的描述;

LWP:RobotUA(Langheinrich,2004)是一個在Perl5許可下發(fā)行的,可以優(yōu)異的完成并行任務(wù)的Perl類庫構(gòu)成的機器人。

Web Crawler是一個為.net準(zhǔn)備的開放源代碼的網(wǎng)絡(luò)檢索器(C#編寫)。

Sherlock Holmes收集和檢索本地和網(wǎng)絡(luò)上的文本類數(shù)據(jù)(文本文件,網(wǎng)頁),該項目由捷克門戶網(wǎng)站中樞(Czech web portal Centrum)贊助并且主用商用于這里;它同時也使用在。

YaCy是一個基于P2P網(wǎng)絡(luò)的免費的分布式搜索引擎(在GPL許可下發(fā)行);

Ruya是一個在廣度優(yōu)先方面表現(xiàn)優(yōu)秀,基于等級抓取的開放源代碼的網(wǎng)絡(luò)爬蟲。在英語和日語頁面的抓取表現(xiàn)良好,它在GPL許可下發(fā)行,并且完全使用Python編寫。按照robots.txt有一個延時的單網(wǎng)域延時爬蟲。

Universal Information Crawler快速發(fā)展的網(wǎng)絡(luò)爬蟲,用于檢索存儲和分析數(shù)據(jù);

Agent Kernel,當(dāng)一個爬蟲抓取時,用來進行安排,并發(fā)和存儲的java框架。

是一個使用C#編寫,需要SQL Server 2005支持的,在GPL許可下發(fā)行的多功能的開源的機器人。它可以用來下載,檢索,存儲包括電子郵件地址,文件,超鏈接,圖片和網(wǎng)頁在內(nèi)的各種數(shù)據(jù)。

Dine是一個多線程的java的http客戶端。它可以在LGPL許可下進行二次開發(fā)。

網(wǎng)絡(luò)爬蟲的組成

在網(wǎng)絡(luò)爬蟲的系統(tǒng)框架中,主過程由控制器,解析器,資源庫三部分組成??刂破鞯闹饕ぷ魇秦?fù)責(zé)給多線程中的各個爬蟲線程分配工作任務(wù)。解析器的主要工作是下載網(wǎng)頁,進行頁面的處理,主要是將一些JS腳本標(biāo)簽、CSS代碼內(nèi)容、空格字符、HTML標(biāo)簽等內(nèi)容處理掉,爬蟲的基本工作是由解析器完成。資源庫是用來存放下載到的網(wǎng)頁資源,一般都采用大型的數(shù)據(jù)庫存儲,如Oracle數(shù)據(jù)庫,并對其建立索引。

控制器

控制器是網(wǎng)絡(luò)爬蟲的中央控制器,它主要是負(fù)責(zé)根據(jù)系統(tǒng)傳過來的URL鏈接,分配一線程,然后啟動線程調(diào)用爬蟲爬取網(wǎng)頁的過程。

解析器

解析器是負(fù)責(zé)網(wǎng)絡(luò)爬蟲的主要部分,其負(fù)責(zé)的工作主要有:下載網(wǎng)頁的功能,對網(wǎng)頁的文本進行處理,如過濾功能,抽取特殊HTML標(biāo)簽的功能,分析數(shù)據(jù)功能。

資源庫

主要是用來存儲網(wǎng)頁中下載下來的數(shù)據(jù)記錄的容器,并提供生成索引的目標(biāo)源。中大型的數(shù)據(jù)庫產(chǎn)品有:Oracle、Sql Server等。文章來源地址http://www.zghlxwxcb.cn/news/detail-839964.html

到了這里,關(guān)于數(shù)據(jù)界的達(dá)克摩斯之劍----深入淺出帶你理解網(wǎng)絡(luò)爬蟲(Forth)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【數(shù)據(jù)結(jié)構(gòu)與算法篇】深入淺出——二叉樹(詳解)

    【數(shù)據(jù)結(jié)構(gòu)與算法篇】深入淺出——二叉樹(詳解)

    ???內(nèi)容專欄:《數(shù)據(jù)結(jié)構(gòu)與算法專欄》 ??本文概括: 二叉樹是一種常見的數(shù)據(jù)結(jié)構(gòu),它在計算機科學(xué)中廣泛應(yīng)用。本博客將介紹什么是二叉樹、二叉樹的順序與鏈?zhǔn)浇Y(jié)構(gòu)以及它的基本操作,幫助讀者理解和運用這一重要概念。 ??本文作者: 花 蝶 ??發(fā)布時間:2023.6.5

    2024年02月08日
    瀏覽(23)
  • 深入淺出二叉樹— C語言版【數(shù)據(jù)結(jié)構(gòu)】

    深入淺出二叉樹— C語言版【數(shù)據(jù)結(jié)構(gòu)】

    目錄 ?編輯 1.樹概念及結(jié)構(gòu) 1.1樹的概念 1.2 樹的相關(guān)概念 ?1.3 樹的表示 2.二叉樹概念及結(jié)構(gòu)? ?2.1概念 2.2 特殊的二叉樹 2.3 二叉樹的性質(zhì)? 2.4 簡單二叉樹題目練習(xí)? 2.5 二叉樹的存儲結(jié)構(gòu) 2.5.1 順序存儲——堆 2.5.2 鏈?zhǔn)酱鎯?樹是一種 非線性的數(shù)據(jù)結(jié)構(gòu) ,它是由n(n=0)個有

    2024年02月03日
    瀏覽(20)
  • 【大數(shù)據(jù)】深入淺出 Apache Flink:架構(gòu)、案例和優(yōu)勢

    【大數(shù)據(jù)】深入淺出 Apache Flink:架構(gòu)、案例和優(yōu)勢

    Apache Flink 是一個強大的開源流處理框架,近年來在大數(shù)據(jù)社區(qū)大受歡迎。它允許用戶實時處理和分析大量流式數(shù)據(jù),使其成為 欺詐檢測 、 股市分析 和 機器學(xué)習(xí) 等現(xiàn)代應(yīng)用的理想選擇。 在本文中,我們將詳細(xì)介紹什么是 Apache Flink 以及如何使用它來為您的業(yè)務(wù)帶來益處。

    2024年01月17日
    瀏覽(25)
  • 探索數(shù)據(jù)的奧秘:一份深入淺出的數(shù)據(jù)分析入門指南

    探索數(shù)據(jù)的奧秘:一份深入淺出的數(shù)據(jù)分析入門指南

    書籍推薦 入門讀物 深入淺出數(shù)據(jù)分析 啤酒與尿布 數(shù)據(jù)之美 數(shù)學(xué)之美 數(shù)據(jù)分析 Scipy and Numpy Python for Data Analysis Bad Data Handbook 集體智慧編程 Machine Learning in Action 機器學(xué)習(xí)實戰(zhàn) Building Machine Learning Systems with Python 數(shù)據(jù)挖掘?qū)д?Machine Learning for Hackers 專業(yè)讀物 Introduction to Semi-Su

    2024年01月21日
    瀏覽(65)
  • 深入淺出帶你玩轉(zhuǎn)棧與隊列——【數(shù)據(jù)結(jié)構(gòu)】

    深入淺出帶你玩轉(zhuǎn)棧與隊列——【數(shù)據(jù)結(jié)構(gòu)】

    W...Y的主頁??? 代碼倉庫分享??? 目錄 1.棧 1.1棧的概念及結(jié)構(gòu) 1.2棧的結(jié)構(gòu)特征圖? ?編輯?1.3棧的實現(xiàn) 1.3.1棧的初始化 1.3.2進棧 1.3.3出棧 1.3.4銷毀內(nèi)存 1.3.5判斷棧是否為空 1.3.5棧底元素的讀取 1.3.6棧中大小 1.4棧實現(xiàn)所有接口 2.隊列 2.1隊列的概念 2.2隊列的結(jié)構(gòu)? ?2.3隊列的實

    2024年02月11日
    瀏覽(25)
  • 深入淺出阿里數(shù)據(jù)同步神器:Canal原理+配置+實戰(zhàn)全網(wǎng)最全解析!

    深入淺出阿里數(shù)據(jù)同步神器:Canal原理+配置+實戰(zhàn)全網(wǎng)最全解析!

    canal 翻譯為管道,主要用途是基于 MySQL 數(shù)據(jù)庫的增量日志 Binlog 解析,提供增量數(shù)據(jù)訂閱和消費。 早期阿里巴巴因為杭州和美國雙機房部署,存在跨機房同步的業(yè)務(wù)需求,實現(xiàn)方式主要是基于業(yè)務(wù) trigger 獲取增量變更。從 2010 年開始,業(yè)務(wù)逐步嘗試數(shù)據(jù)庫日志解析獲取增量變

    2024年02月10日
    瀏覽(23)
  • 【數(shù)據(jù)結(jié)構(gòu)與算法】深入淺出:單鏈表的實現(xiàn)和應(yīng)用

    【數(shù)據(jù)結(jié)構(gòu)與算法】深入淺出:單鏈表的實現(xiàn)和應(yīng)用

    ? ??博客主頁:青竹霧色間. ??博客制作不易歡迎各位??點贊+?收藏+?關(guān)注 ?? 人生如寄,多憂何為? ? 目錄 前言 單鏈表的基本概念 節(jié)點 頭節(jié)點 尾節(jié)點 單鏈表的基本操作 創(chuàng)建單鏈表 頭插法: 尾插法: 插入(增)操作 ?刪除(刪)操作: 查找(查)操作: 修改(改

    2024年02月08日
    瀏覽(24)
  • 【深入淺出 Spring Security(四)】登錄用戶數(shù)據(jù)的獲取,超詳細(xì)的源碼分析

    【深入淺出 Spring Security(四)】登錄用戶數(shù)據(jù)的獲取,超詳細(xì)的源碼分析

    在【深入淺出Spring Security(一)】Spring Security的整體架構(gòu) 中敘述過一個SecurityContextHolder 這個類。說在處理請求時,Spring Security 會先從 Session 中取出用戶登錄數(shù)據(jù),保存到 SecurityContextHolder 中,然后在請求處理完畢后,又會拿 SecurityContextHolder 中的數(shù)據(jù)保存到 Session 中,然后再

    2024年02月07日
    瀏覽(18)
  • 數(shù)據(jù)庫深入淺出,數(shù)據(jù)庫介紹,SQL介紹,DDL、DML、DQL、TCL介紹

    數(shù)據(jù)庫深入淺出,數(shù)據(jù)庫介紹,SQL介紹,DDL、DML、DQL、TCL介紹

    ????????數(shù)據(jù)(Data):文本信息(字母、數(shù)字、符號等)、音頻、視頻、圖片等; ????????數(shù)據(jù)庫(DataBase):存儲數(shù)據(jù)的倉庫,本質(zhì)文件,以文件的形式將數(shù)據(jù)保存到電腦磁盤中 ????????數(shù)據(jù)庫管理系統(tǒng)(DBMS):管理、操作、維護數(shù)據(jù)庫的軟件 ????????數(shù)據(jù)庫應(yīng)用程序

    2024年02月06日
    瀏覽(24)
  • 【數(shù)據(jù)結(jié)構(gòu)】深入淺出理解快速排序背后的原理 以及 版本優(yōu)化【萬字詳解】(C語言實現(xiàn))

    【數(shù)據(jù)結(jié)構(gòu)】深入淺出理解快速排序背后的原理 以及 版本優(yōu)化【萬字詳解】(C語言實現(xiàn))

    快速排序是 Hoare 于1962年提出的一種 二叉樹結(jié)構(gòu) 的 交換排序 方法。 任取待排序元素序列中的 某元素作為基準(zhǔn)值 ,按照該排序碼將待排序集合 分割成兩子序列 , 左子序列中所有元素均小于基準(zhǔn)值,右子序列中所有元素均大于基準(zhǔn)值 ,然后最左右子序列重復(fù)該過程,直到所

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包