當前位置:首頁 » 網頁前端 » web爬蟲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web爬蟲

發布時間: 2022-02-14 08:32:01

A. 網路爬蟲主要能幹啥

網路爬蟲是一種互聯網機器人,它通過爬取互聯網上網站的內容來工作。它是用計算機語言編寫的程序或腳本,用於自動從Internet上獲取任何信息或數據。機器人掃描並抓取每個所需頁面上的某些信息,直到處理完所有能正常打開的頁面。

網路爬蟲大致有4種類型的結構:通用網路爬蟲、聚焦網路爬蟲、增量式網路爬蟲、深層網路爬蟲 。

1、通用Web爬蟲

通用網路爬蟲所爬取的目標數據是巨大的,並且爬行的范圍也是非常大的,正是由於其爬取的數據是海量數據,故而對於這類爬蟲來說,其爬取的性能要求是非常高的。這種網路爬蟲主要應用於大型搜索引擎中,有非常高的應用價值。 或者應用於大型數據提供商。

2、聚焦網路爬蟲

聚焦網路爬蟲是按照預先定義好的主題有選擇地進行網頁爬取的一種爬蟲,聚焦網路爬蟲不像通用網路爬蟲一樣將目標資源定位在全互聯網中,而是將爬取的目標網頁定位在與主題相關的頁面中,此時,可以大大節省爬蟲爬取時所需的帶寬資源和伺服器資源。聚焦網路爬蟲主要應用在對特定信息的爬取中,主要為某一類特定的人群提供服務。

3、增量Web爬蟲

增量式網路爬蟲,在爬取網頁的時候,只爬取內容發生變化的網頁或者新產生的網頁,對於未發生內容變化的網頁,則不會爬取。增量式網路爬蟲在一定程度上能夠保證所爬取的頁面,盡可能是新頁面。

4、深層網路爬蟲

在互聯網中,網頁按存在方式分類,可以分為表層頁面和深層頁面。所謂的表層頁面,指的是不需要提交表單,使用靜態的鏈接就能夠到達的靜態頁面;而深層頁面則隱藏在表單後面,不能通過靜態鏈接直接獲取,是需要提交一定的關鍵詞之後才能夠獲取得到的頁面。在互聯網中,深層頁面的數量往往比表層頁面的數量要多很多,故而,我們需要想辦法爬取深層頁面。

網路爬蟲可以做什麼?

由於互聯網和物聯網的蓬勃發展,人與網路之間的互動正在發生。每次我們在互聯網上搜索時,網路爬蟲都會幫助我們獲取所需的信息。此外,當需要從Web訪問大量非結構化數據時,我們可以使用Web爬網程序來抓取數據。

1、Web爬蟲作為搜索引擎的重要組成部分

使用聚焦網路爬蟲實現任何門戶網站上的搜索引擎或搜索功能。它有助於搜索引擎找到與搜索主題具有最高相關性的網頁。

對於搜索引擎,網路爬蟲有幫助,為用戶提供相關且有效的內容, 創建所有訪問頁面的快照以供後續處理。

2、建立數據集

網路爬蟲的另一個好用途是建立數據集以用於研究,業務和其他目的。

· 了解和分析網民對公司或組織的行為

· 收集營銷信息,並在短期內更好地做出營銷決策。

· 從互聯網收集信息並分析它們進行學術研究。

· 收集數據,分析一個行業的長期發展趨勢。

· 監控競爭對手的實時變化

B. WEB 爬蟲 是什麼

http://googlechinablog.com/2006/05/web-crawlers.html

數學之美系列六 -- 圖論和網路爬蟲 (Web Crawlers)

2006年5月15日 上午 07:15:00
發表者: 吳軍,Google 研究員

[離散數學是當代數學的一個重要分支,也是計算機科學的數學基礎。它包括數理邏輯、集合論、圖論和近世代數四個分支。數理邏輯基於布爾運算,我們已經介紹過了。這里我們介紹圖論和互聯網自動下載工具網路爬蟲 (Web Crawlers) 之間的關系。順便提一句,我們用 Google Trends 來搜索一下「離散數學」這個詞,可以發現不少有趣的現象。比如,武漢、哈爾濱、合肥和長沙市對這一數學題目最有興趣的城市。]

我們上回談到了如何建立搜索引擎的索引,那麼如何自動下載互聯網所有的網頁呢,它要用到圖論中的遍歷(Traverse) 演算法。

圖論的起源可追溯到大數學家歐拉(Leonhard Euler)。1736 年歐拉來到德國的哥尼斯堡(Konigsberg,大哲學家康德的故鄉,現在是俄羅斯的加里寧格勒),發現當地市民們有一項消遣活動,就是試圖將下圖中的每座橋恰好走過一遍並回到原出發點,從來沒有人成功過。歐拉證明了這件事是不可能的,並寫了一篇論文,一般認為這是圖論的開始。

圖論中所討論的的圖由一些節點和連接這些節點的弧組成。如果我們把中國的城市當成節點,連接城市的國道當成弧,那麼全國的公路干線網就是圖論中所說的圖。關於圖的演算法有很多,但最重要的是圖的遍歷演算法,也就是如何通過弧訪問圖的各個節點。以中國公路網為例,我們從北京出發,看一看北京和哪些城市直接相連,比如說和天津、濟南、石家莊、南京、沈陽、大同直接相連。我們可以依次訪問這些城市,然後我們看看都有哪些城市和這些已經訪問過的城市相連,比如說北戴河、秦皇島與天津相連,青島、煙台和濟南相連,太原、鄭州和石家莊相連等等,我們再一次訪問北戴河這些城市,直到中國所有的城市都訪問過一遍為止。這種圖的遍歷演算法稱為「廣度優先演算法」(BFS),因為它先要盡可能廣地訪問每個節點所直接連接的其他節點。另外還有一種策略是從北京出發,隨便找到下一個要訪問的城市,比如是濟南,然後從濟南出發到下一個城市,比如說南京,再訪問從南京出發的城市,一直走到頭。然後再往回找,看看中間是否有尚未訪問的城市。這種方法叫「深度優先演算法」(DFS),因為它是一條路走到黑。這兩種方法都可以保證訪問到全部的城市。當然,不論採用哪種方法,我們都應該用一個小本本,記錄已經訪問過的城市,以防同一個城市訪問多次或者漏掉哪個城市。

現在我們看看圖論的遍歷演算法和搜索引擎的關系。互聯網其實就是一張大圖,我們可以把每一個網頁當作一個節點,把那些超鏈接(Hyperlinks)當作連接網頁的弧。很多讀者可能已經注意到,網頁中那些藍色的、帶有下劃線的文字背後其實藏著對應的網址,當你點下去的的時候,瀏覽器是通過這些隱含的網址轉到相應的網頁中的。這些隱含在文字背後的網址稱為「超鏈接」。有了超鏈接,我們可以從任何一個網頁出發,用圖的遍歷演算法,自動地訪問到每一個網頁並把它們存起來。完成這個功能的程序叫做網路爬蟲,或者在一些文獻中稱為"機器人" (Robot)。世界上第一個網路爬蟲是由麻省理工學院 (MIT)的學生馬休.格雷(Matthew Gray)在 1993 年寫成的。他給他的程序起了個名字叫「互聯網漫遊者」("www wanderer")。以後的網路爬蟲越寫越復雜,但原理是一樣的。

我們來看看網路爬蟲如何下載整個互聯網。假定我們從一家門戶網站的首頁出發,先下載這個網頁,然後通過分析這個網頁,可以找到藏在它裡面的所有超鏈接,也就等於知道了這家門戶網站首頁所直接連接的全部網頁,諸如雅虎郵件、雅虎財經、雅虎新聞等等。我們接下來訪問、下載並分析這家門戶網站的郵件等網頁,又能找到其他相連的網頁。我們讓計算機不停地做下去,就能下載整個的互聯網。當然,我們也要記載哪個網頁下載過了,以免重復。在網路爬蟲中,我們使用一個稱為「哈希表」(Hash Table)的列表而不是一個記事本紀錄網頁是否下載過的信息。

現在的互聯網非常巨大,不可能通過一台或幾台計算機伺服器就能完成下載任務。比如雅虎公司(Google 沒有公開公布我們的數目,所以我這里舉了雅虎的索引大小為例)宣稱他們索引了 200 億個網頁,假如下載一個網頁需要一秒鍾,下載這 200 億個網頁則需要 634 年。因此,一個商業的網路爬蟲需要有成千上萬個伺服器,並且由快速網路連接起來。如何建立這樣復雜的網路系統,如何協調這些伺服器的任務,就是網路設計和程序設計的藝術了。

C. 網路爬蟲只能爬去web頁面的數據信息嗎是不是別人資料庫中的數據時沒有辦法抓取的

網路爬蟲抓取頁面信息,提取其中的鏈接,順著鏈接依次爬行,一般深度優先或者廣度優先,這樣一層一層的抓取,但是網頁上的信息可能會涉及版權,如果對方不允許爬蟲抓取,robot協議里禁止抓取,或者設置許可權為登陸狀態才可以,這些都會阻礙爬蟲抓取數據。而web頁面上的信息,其實是資料庫里的數據在網站上的體現,沒有體現出來的資料庫數據,爬蟲是無法抓取的。除非是給一個入口,這樣爬蟲從入口進去可以抓取數據。

D. 學Python做web還是爬蟲未來那個發展比較好

光會一種待遇不好,要定位全棧。

E. java開源web爬蟲哪個好用

Lucene+nutch+heritrix網上可以找得到源代碼,開源的搜索引擎,包含爬蟲、檢索等功能。 Heritrix是一個爬蟲框架,可加如入一些可互換的組件。 它的執行是遞歸進行的,主要有以下幾步: 1。在預定的URI中選擇一個。 2。獲取URI 3。

F. 什麼是網路爬蟲

1、網路爬蟲就是為其提供信息來源的程序,網路爬蟲(又被稱為網頁蜘蛛,網路機器人,在FOAF社區中間,更經常被稱為網頁追逐者),是一種按照一定的規則,自動的抓取萬維網信息的程序或者腳本,已被廣泛應用於互聯網領域。

2、搜索引擎使用網路爬蟲抓取Web網頁、文檔甚至圖片、音頻、視頻等資源,通過相應的索引技術組織這些信息,提供給搜索用戶進行查詢。網路爬蟲也為中小站點的推廣提供了有效的途徑。

拓展資料:

網路爬蟲另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。隨著網路的迅速發展,萬維網成為大量信息的載體,如何有效地提取並利用這些信息成為一個巨大的挑戰。

搜索引擎(Search Engine),例如傳統的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:

(1) 不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結果包含大量用戶不關心的網頁。

(2)通用搜索引擎的目標是盡可能大的網路覆蓋率,有限的搜索引擎伺服器資源與無限的網路數據資源之間的矛盾將進一步加深。

(3)萬維網數據形式的豐富和網路技術的不斷發展,圖片、資料庫、音頻、視頻多媒體等不同數據大量出現,通用搜索引擎往往對這些信息含量密集且具有一定結構的數據無能為力,不能很好地發現和獲取。

(4)通用搜索引擎大多提供基於關鍵字的檢索,難以支持根據語義信息提出的查詢。

G. java開源web爬蟲哪個好用

Lucene+nutch+heritrix網上可以找得到源代碼,開源的搜索引擎,包含爬蟲、檢索等功能。

Heritrix是一個爬蟲框架,可加如入一些可互換的組件。 它的執行是遞歸進行的,主要有以下幾步: 1。在預定的URI中選擇一個。 2。獲取URI 3。分析,歸檔結果 4。選擇已經發現的感興趣的URI。加入預定隊列。 5。標記已經處理過的URI 是IA的開放源代碼,可擴展的,基於整個Web的,歸檔網路爬蟲工程 Heritrix工程始於2003年初,IA的目的是開發一個特殊的爬蟲,對網上的 資源進行歸檔,建立網路數字圖書館,在過去的6年裡,IA已經建立了400TB的數據。 最新版本:heritrix-1.15.4 IA期望他們的crawler包含以下幾種: 寬頻爬蟲:能夠以更高的帶寬去站點爬。 主題爬蟲:集中於被選擇的問題。 持續爬蟲:不僅僅爬更當前的網頁還負責爬日後更新的網頁。 實驗爬蟲:對爬蟲技術進行實驗,以決定該爬什麼,以及對不同協議的爬蟲 爬行結果進行分析的。 Heritrix的主頁是http://crawler.archive.org Heritrix是一個爬蟲框架,可加如入一些可互換的組件。 它的執行是遞歸進行的,主要有以下幾步: 1。在預定的URI中選擇一個。 2。獲取URI 3。分析,歸檔結果 4。選擇已經發現的感興趣的URI。加入預定隊列。 5。標記已經處理過的URI
[編輯本段]部件
主要部件
Heritrix主要有三大部件:范圍部件,邊界部件,處理器鏈 范圍部件:主要按照規則決定將哪個URI入隊。 邊界部件:跟蹤哪個預定的URI將被收集,和已經被收集的URI,選擇下一個 URI,剔除已經處理過的URI。 處理器鏈:包含若干處理器獲取URI,分析結果,將它們傳回給邊界部件
其餘部件
WEB管理控制台:大多數都是單機的WEB應用,內嵌JAVA HTTP 伺服器。 操作者可以通過選擇Crawler命令來操作控制台。 Crawler命令處理部件:包含足夠的信息創建要爬的URI。 Servercache(處理器緩存):存放伺服器的持久信息,能夠被爬行部件隨時查到,包括IP地址,歷史記錄,機器人策略。 處理器鏈: 預取鏈:主要是做一些准備工作,例如,對處理進行延遲和重新處理,否決隨後的操作。 提取鏈:主要是獲得資源,進行DNS轉換,填寫請求和響應表單 抽取鏈:當提取完成時,抽取感興趣的HTML,JavaScript,通常那裡有新的也適合的URI,此時URI僅僅被發現,不會被評估 寫鏈:存儲爬行結果,返回內容和抽取特性,過濾完存儲。 提交鏈:做最後的維護,例如,測試那些不在范圍內的,提交給邊界部件
[編輯本段]關鍵特性
Heritrix 1.0.0包含以下關鍵特性: 1.用單個爬蟲在多個獨立的站點一直不斷的進行遞歸的爬。 2。從一個提供的種子進行爬,收集站點內的精確URI,和精確主機。 3。主要是用廣度優先演算法進行處理。 4。主要部件都是高效的可擴展的 5。良好的配置,包括: a。可設置輸出日誌,歸檔文件和臨時文件的位置 b。可設置下載的最大位元組,最大數量的下載文檔,和最大的下載時間。 c。可設置工作線程數量。 d。可設置所利用的帶寬的上界。 e。可在設置之後一定時間重新選擇。 f。包含一些可設置的過濾機制,表達方式,URI路徑深度選擇等等。 Heritrix的局限: 1。單實例的爬蟲,之間不能進行合作。 2。在有限的機器資源的情況下,卻要復雜的操作。 3。只有官方支持,僅僅在Linux上進行了測試。 4。每個爬蟲是單獨進行工作的,沒有對更新進行修訂。 5。在硬體和系統失敗時,恢復能力很差。

H. 如何禁止網路爬蟲頻繁爬自己網站

可以設置robots.txt來禁止網路爬蟲來爬網站。
方法:
首先,你先建一個空白文本文檔(記事本),然後命名為:robots.txt;
(1)禁止所有搜索引擎訪問網站的任何部分。
User-agent: *
Disallow: /
(2)允許所有的robots訪問,無任何限制。
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
還可以建立一個空文件robots.txt或者不建立robots.txt。

(3)僅禁止某個搜索引擎的訪問(例如:網路spider)
User-agent: BaiSpider
Disallow:/
(4)允許某個搜索引擎的訪問(還是網路)
User-agent: BaiSpider
Disallow:
User-agent: *
Disallow: /
這里需要注意,如果你還需要允許谷歌bot,那麼也是在「User-agent: *」前面加上,而不是在「User-agent: *」後面。
(5)禁止Spider訪問特定目錄和特定文件(圖片、壓縮文件)。
User-agent: *
Disallow: /AAA.net/
Disallow: /admin/
Disallow: .jpg$
Disallow: .rar$
這樣寫之後,所有搜索引擎都不會訪問這2個目錄。需要注意的是對每一個目錄必須分開說明,而不要寫出「Disallow:/AAA.net/ /admin/」。