2010-07-08 84 views
42

有人可以根據範圍和功能區分爬蟲和刮板。爬蟲vs刮板

+2

這些術語沒有準確的定義。你有使用例子嗎? – 2010-07-08 19:57:24

+0

我想編寫一個應用程序,它基於一些基於xpath的規則(遵循特定的超鏈接)遍歷網站,然後從一些葉頁中提取數據。所以它包括爬行和抓取。我需要爲這兩個步驟找出最好的工具。 – Nayn 2010-07-08 20:09:37

+0

許多平臺都非常適合下載網頁並應用RegExp來提取鏈接或刮取值。使用你所知道的。 – 2010-07-08 20:17:40

回答

62

爬蟲獲取網頁 - 即給定一個起始地址(或一組起始地址)和一些條件(例如,要深入多少鏈接,要忽略的文件類型),它會下載鏈接到的任何內容起點。

一個刮取器會獲取已下載的頁面[編輯:或者,更一般的意義上,是用於顯示的格式化的數據],以及(嘗試)從這些頁面提取數據,以便它可以(例如)存儲在數據庫中並根據需要進行操作。

根據您使用結果的方式,抓取可能會侵犯信息所有者和/或使用網站的用戶協議的權利(爬行在某些情況下也違反後者)。編輯:正如Steven Sudit所提到的,許多網站在其根目錄中包含一個名爲robots.txt的文件(即具有網址http://server/robots.txt)來指定抓取工具應如何處理該網站 - 特別是它可以列出(部分)網址一個爬蟲不應該試圖訪問。如果需要,可以根據搜尋器(用戶代理)單獨指定。

+7

我們應該提及robots.txt文件,它告訴抓取工具在哪裏抓取。 – 2010-07-08 20:09:08

+0

+1用於添加robots.txt信息。 – 2010-07-08 20:24:57

+0

@Steven:糟糕 - 我很抱歉拼錯你的名字。 – 2010-07-08 20:44:30

3

爬行者在網上衝浪,跟隨鏈接。一個例子是Google機器人獲取頁面索引。刮板從表格中提取價值,但不一定與網絡有任何關係。

+4

刮板從HTML中提取值,不一定是表格。 – 2010-07-08 20:00:21

+3

刮板從畫面中提取價值,而不一定是HTML。例如,我曾經使用刮板從舊的大型機表格中提取值。 – 2010-07-08 20:02:22

+4

我無法給Google免費通行證。谷歌是一個爬蟲,是的,但也是一個刮板。他們還有什麼元描述顯示在搜索結果中?標題?帖子的日期?他們是最終的爬蟲和刮板。 – 2012-11-30 23:18:42

3

Web爬蟲在邏輯中獲取鏈接(Url - Pages),並且刮板從HTML獲取值(提取)。

有這麼多的網絡爬蟲工具。 Visit page看到一些。任何XML-HTML解析器都可以用來從抓取的頁面提取(報廢)數據。 (我建議使用Jsoup來解析和提取數據)

0

通常,抓取工具會沿着鏈接到達大量頁面,而剷除工具在某種意義上只是拉動在線顯示的內容,並且不會到達更深的鏈接。

最典型的抓取工具是谷歌機器人,它會遵循鏈接到達您網站上的所有網頁,並且如果他們發現它有用就會索引內容(這就是爲什麼您需要robots.txt來告訴您所做的內容不想被索引)。所以我們可以在其網站上搜索這樣的內容。雖然刮刀的目的只是爲了個人使用而將內容拉出來,並且不會對其他人造成太大影響。

但是,現在抓取工具和抓取工具沒有明顯的區別,因爲一些自動抓取工具還允許您通過鏈接(如Octoparse和import.io)抓取網站。他們不是像谷歌漫遊器那樣的抓取工具,但他們能夠自動抓取網站,無需編碼即可獲取大量數據。