捕獲和轉換Web的工具

Web Scraper文檔

為了創建網頁抓取,您必須指定五類信息,這些信息分佈在以下選項卡中。

  1. 抓取選項
  2. 目標網站
  3. 刮刮說明
  4. 導出選項
  5. 時間表刮

抓取選項

以下所有功能均可在“抓取選項”選項卡上自定義Web抓取。

刮板名稱 刮擦的名稱。

追踪連結 提供有關刮板應如何遵循鏈接的以下選項:

忽略文件下載 一旦設置了任何鏈接,就不會下載導致訪問時下載文件的鏈接。

忽略Robots.txt文件 如果設置,則抓取工具可以訪問通常不被網站所有者抓取的網頁。

忽略錯誤頁面 如果設置,網頁抓取工具將跳過任何報告錯誤的網頁。 因此任何 HTTP 狀態碼 400 或以上。

忽略 URL 片段 如果設置,網頁抓取工具將忽略 URL 後面的部分 # 此功能通常用於表示同一頁上的書籤,因此通常會導致不必要的頁面被刪除。 但是,某些網站使用此功能來顯示不同的內容,在這種情況下需要停用此設定。 此選項僅在未按要求追蹤連結時適用。

忽略重複 如果設置,則它將忽略等於或大於您設置的相似度的頁面,例如,您可以忽略95%相同的頁面。

極限刮擦 允許您指定Web刮板在停止之前應刮刮多少頁。

使用我的時區 如果設置,則表示Web抓取工具應嘗試轉換其抓取的任何日期 into您當地的時區。 可以在帳戶頁面上設置您的時區。

活動地點 Web抓取工具將執行抓取操作的地理位置。 如果目標網站有基於位置的限制,這可能會很有用。

默認日期格式 當轉換無法確定日期格式的日期時,Web抓取工具將默認使用此所選格式。

頁面加載延遲 這是Web Scraper在解析頁面之前應等待的時間(以毫秒為單位)。 如果頁麵包含大量AJAX或加載緩慢,這將非常有用。

目標網站

目標網站

在「目標網站」標籤中,您可以指定要從中提取資料的網站。 要告訴抓取工具從網站中提取數據,您首先必須指定您所在的主 URL int迷戀於 http://www.example.com/shop/ 這是刮板將開始刮板的地方,它可以是普通網頁,PDF文檔,XML文檔,JSON文檔,RSS feed或站點地圖。 如果不是網頁或PDF文檔,則抓取工具將在文件中找到所有鏈接,並訪問每個鏈接。

要僅跟踪在目標網址中找到的鏈接,而不能跟踪任何後續頁面,則可以設置 追踪連結 刮擦選項在第一頁。 這將僅使用目標URL來填充其餘的抓取內容。

網址格式

默認情況下,Web爬蟲將跟踪它在其訪問的每個網頁上發現的每個鏈接。 如果您想限制哪些鏈接, 網頁刮板 接下來,一個簡單的方法是指定 URL 模式。 這項強大的技術主要透過指定一個帶有星號的 URL 作為通配符來表示任何字元都可以出現在模式的這一部分中。 例如 http://www.example.com/*/articles/* 將從網站根目錄中抓取所有包含文章作為第二目錄的URL。

定義URL模式的一種更嚴格的方法是定義替代項。 例如,此示例僅匹配商店或新聞: http://www.example.com/ /*

因此,這將與此匹配 http://www.example.com/store/products/1 但不 http://www.example.com/about/.

或者,也可以匹配除某些內容之外的所有內容。 例如,此範例將不符合商店或新聞: http://www.example.com/ /*

因此,這將與此匹配 http://www.example.com/about/ 但不 http://www.example.com/store/products/1!

URL 模式也可以包含關鍵字。 關鍵字是雙方括號中包含的任何內容。 所以 [[URL_START]]www.example.com* 將匹配 URL 的任何有效開頭,因此 http://www.example.com/, https://www.example.com/ 甚至 ftp://www.example.com/ 例如。

種子網址

種子URL允許用戶指定Web爬網程序必須爬網的URL列表。 如果只希望抓取種子網址,請設置 追踪連結 刮擦選項沒有頁面 在“抓取選項”標籤中。

若要在「目標網站」標籤上設定種子 URL,請按一下「新增目標」按鈕,然後選取「設定種子 URL」複選框並指定要在單獨的行上抓取的每個 URL。

從模板URL創建種子URL

或者,您可以使用模板URL自動生成種子URL,這是一個包含URL變量的URL。 URL變量指定要迭代的數字範圍。

起始編號是URL變量應開始計數的數字,結束編號是URL變量將停止計數的數字,迭代數是URL變量每次迭代將增加的數字。

例如以下模板URL http://www.example.com/search?pageNo=

然後,將創建以下種子URL:

執行發布

該URL還可以指定一個帶有POST參數的URL,例如登錄表單。 為此,在“目標URL”文本框中指定表單URL,然後添加要使用的必需的post參數。 發布變量值還可以包括特殊的GrabzIt變量,例如:

刮刮說明

抓取指令告訴Web Scraper抓取目標網站時要執行哪些操作。 “抓取指令”選項卡默認情況下顯示抓取嚮導,這使添加所需的抓取指令變得容易。 使用該嚮導的一個很好的例子顯示在 產品列表和詳細信息刮取教程.

準備開始抓取時,請按 添加新的抓取指令 鏈接。

這將打開嚮導並自動加載目標URL,使您可以立即選擇要抓取的內容。 如果已加載網頁或PDF文檔,則可以單擊任何鏈接,它將正常運行,例如導航到另一個網頁。 在此屏幕上,您選擇屏幕底部的操作之一之前,int 對內容的任何點擊都會選擇您要提取或操作的HTML元素。

了解刮刮指令的第一件事是默認情況下它們在每個網頁上執行。 阻止這種情況的方法是使用模板。 可以在執行諸如單擊鏈接之類的操作時將模板分配給該模板,這樣,只要刮板訪問該鏈接或單擊該按鈕,它就會識別出它屬於已分配的模板。 這允許定義不同的頁麵類型。 例如,您可能有一個包含一些概述信息的產品類別頁面,然後是一個包含產品信息的詳細信息頁面。 兩個頁面可能都需要一組不同的抓取指令。

刮板模板

要開始使用,請選擇 點擊 操作,然後選擇要對其執行操作的項目並點擊 下一頁 按鈕,在中輸入模板的名稱 創建一個模板 現在,無論何時刮板執行這些操作,返回的模板都將是您提供的名稱。

然後,要將特定模板分配給抓取指令,您需要從 在執行 下拉列表,出現在添加刮指令之前的選項窗口中。 選擇模板時的三個主要選項如下:

選擇這些選項之一後,抓取指令將僅在指定的模板上執行。

提取數據

您會注意到,當您選擇 提取數據 行動。 屏幕的左下角邀請您在上面的窗口中選擇HTML元素,或者選擇全局頁面屬性。

要使用全局頁面屬性,請點擊 全局頁面屬性 鏈接。 然後確認您要繼續。 現在,您將獲得可以直接從頁面中提取的屬性列表。 例如:頁面標題。

要選擇一個,只需從選項列表中選擇它,然後單擊 下一頁 將數據添加到 數據集.

如果您希望提取特定HTML元素中的數據而不是屬於整個頁面,則需要單擊相關HTML元素,則可以選擇單個或多個項目。 但是,如果要選擇多個項目,請嘗試選擇多個相同的項目,例如一列中的多行,因為如果刮板無法創建可以唯一標識所選數據集合的規則,則刮板指令將不會能夠被創建。 此外,如果我們的網頁抓取工具嚮導已將您單擊的多個項目標識為重複數據,則將自動選擇同一組中的所有重複數據。 選擇所有單個或多個項目後,選擇要從屏幕左下方提取的屬性,然後單擊 下一頁.

創建數據集

數據集屏幕允許您更改數據的處理方式,例如,您可以重命名數據集及其中的列,只需單擊名稱即可重命名。 將列添加到數據集時,還需要選擇應在其上執行的模板。您可以通過單擊列名稱下的下拉列表來更改此模板。

通常,在提取數據時,某些重複項不一致地重複是很常見的,以確保正確的行仍然彼此關聯,請使用 鏈接列 條件,以將不一致的列與數據集中最一致的列鏈接起來。

要將更多數據添加到數據集,請單擊 按鈕,或單擊 從數據集中刪除數據,或 刪除整個數據集。 數據集還允許將各種標準應用於數據,為此,請從頂部選擇所需的操作,然後單擊相關列以應用標準。 如果您輸入標準有誤,只需點擊 按鈕。

以下是不同條件類型及其使用方式的列表:

選擇上述操作之一後,如果它可以影響多個列,則會詢問您是否只希望它影響列的一部分或全部。 在大多數情況下,您希望它影響所有列,但是在某些情況下,限制受影響的列很有用。 例如,如果您選擇一系列 標籤和值,它可以改變網頁的位置,您可以選擇所有標籤和值。 然後在數據集中使用equals操作將其限制為所需的標籤,並指定僅應影響label和value列。 這將確保其他列不受刪除行的影響,為完整起見,隱藏標籤列將很有用。

修改完所有內容後,請點擊 下一頁 並且,您的抓取說明將添加到抓取中。 然後,您可以根據需要選擇添加更多的刮擦說明。

操縱網頁

通過在下拉菜單中單擊,鍵入和選擇值,可以在抓取網頁之前對其進行操作。 重要的是要記住,即使這可能導致新網頁加載,在執行所有適用的抓取指令之前,抓取指令也不會重新啟動。

要操作網頁,請選擇 點擊元素, 懸停元素, 滾動, 輸入文字 or 選擇下拉列表值 動作。 如果要執行單擊操作,則可以單擊網頁上任意數量的元素。 否則,您必須選擇適當的HTML元素,例如,應在文本框中鍵入文本。 然後點擊 下一頁。 這將打開一個選項框,使您可以完成操作。 在鍵入文本並從下拉菜單中選擇時,必須分別選擇要鍵入或選擇的數據。 除此之外,這三個動作的選項都相同。

如果您希望選擇模板,則應在此操作中執行該操作;對於單擊操作,單擊操作完成後,將應用哪個模板。 但是,將新模板分配給在同一頁面上執行多次單擊的單擊操作不是一個好主意,例如,打開嵌入式彈出窗口或使事物顯示在屏幕上。 這是因為,如果單擊操作僅在某些模板上執行,則不會重置由第一次單擊分配的新模板,因此,根據刮擦的編寫方式,這可能會阻止以後再次執行同一頁面上的單擊。 您還可以定義是否只希望執行一次此操作,這在執行諸如login之類的操作時非常有用 intoa網站。

使用“鍵入文本”或“選擇下拉列表值”操作,您可以分別鍵入多個文本項或進行多個選擇框選擇。 可以通過單擊刮刮說明進行編輯 更改或查看變量 按鈕,如左側的屏幕截圖所示。

例如,如果要在搜索框中鍵入名稱列表,這可能很重要。 為了確保僅在搜索框中有值時才提交表單,每次成功鍵入文本時都可以設置一個模板 into除非設置了此模板,否則不會執行文本框和按鈕上的單擊操作。 在執行點擊操作之後,然後需要將模板更改為其他內容,以重置該過程。

在執行操作網站的操作之後,如果操作啟動了AJAX功能,則需要等待一段時間,以便在繼續抓取之前加載AJAX內容,這很有用。 您可以通過在 執行後等待 文本框。

滿足某些條件後,您可能希望直接跳轉到其他URL。 為此,請使用 轉到URL 僅在刮板上定義了至少一個模板並且必須將創建後的模板分配給模板時才會顯示該操作,以幫助避免無限循環。

最後,您可以在網頁抓取中使用所有GrabzIt的捕獲API,只需選擇“捕獲網頁”操作,然後選擇所需的捕獲即可。 您可以通過指定要在模板中執行的模板來限制抓取中的某些網頁 下一頁 按鈕。

添加每個刮擦指令後,可以在“刮擦指令”面板中看到它,每個刮擦指令旁邊的叉號都可以刪除該刮擦指令。 如果刪除了其他刮擦指令所需的刮擦指令,則這些指令也將被刪除。 您可以通過拖動帶有抓取圖標的任何刮擦指令來更改刮擦指令的順序。

手動編寫刮刮說明

如果您需要以更特定的方式自定義刮削指令,則需要手動更改刮削指令。

抓取指令基於JavaScript,代碼編輯器附帶語法檢查器,自動完成和工具提示,以使其盡可能地容易。

Web刮闆說明 可以通過菜單選項訪問代碼編輯器的核心功能,如屏幕截圖所示,每個功能的目的在下面分別說明。 儘管抓取指令中的任何語法錯誤都在代碼編輯器的左側裝訂線中指示。

嚮導 該嚮導允許您選擇要提取的頁面部分,並執行其他常見任務,例如創建Web捕獲。

顯示抓取說明 向用戶顯示刮削指令代碼。

刪除所有說明 刪除所有刮刮指令。

網頁功能 將輸入Page關鍵字 into抓取說明並打開自動完成功能,其中包含所有可能的操作 頁面功能。 頁面功能使您可以從網頁中提取數據。

數據功能 將輸入數據關鍵字 into刮刮說明。 數據功能 讓你 save 信息。

導航功能 輸入導航關鍵字 into代碼編輯器。 的 導航功能 允許您控制Web Scraper如何導航目標網站。

全局功能 輸入Global關鍵字 into刮刮說明。 這使您可以訪問 功能 可以在解析不同的網頁之間存儲數據。 在編寫抓取指令時,請務必記住,當抓取器在網頁之間移動時,抓取指令中的JavaScript變量狀態不會保留,除非您使用Global函數 save 變量,如下所示。

Global.set("myvariable", "hello");
var mrvar = Global.get("myvariable");

要創建持久性全局變量,請在Global.set方法中將true傳遞給persist參數,如下所示。

Global.set("myvariable", "hello", true);

實用功能 輸入Utility關鍵字 into刮刮說明。 這使您可以使用 常用功能 使編寫拼寫更容易,例如添加或刪除查詢string URL中的參數。

準則功能 輸入Criteria關鍵字 into刮刮說明。 這些 功能 允許您優化在抓取期間提取的數據,例如消除重複項。

篩選 允許您輕鬆創建過濾器,某些功能需要此過濾器才能從網頁中選擇特定的HTML元素。 只需選擇目標元素應具有的屬性和/或元素的父級必須選擇該元素。 確保在單擊此選項之前,光標也位於函數中正確的位置以通過過濾器。

屏幕截圖功能 允許您設置屏幕截圖選項。 只需將光標置於工具提示所標識的功能的正確部分,然後按屏幕截圖選項。 然後選擇所需的所有選項並插入命令。

Strings

String在執行網頁抓取時,在抓取指令中使用s來定義文本。 一種 string 以雙(")或單引號(')。 如果一個 string 以雙引號開頭,如果 string 以單引號開頭,必須以單引號結尾。 例如:

"my-class"'my-class'

可能發生的常見錯誤是未公開 string 錯誤,這是當 string 沒有如上所示的結尾報價,或者 string。 以下是非法的 strings:

"my
class"

"my class

解決此錯誤的方法是確保它們不包含換行符並具有匹配的引號,如下所示:

"my class""my class"

有時您希望單引號或雙引號出現在 string。 最簡單的方法是在單引號中 string 用雙引號和雙引號分隔 string 用單引號分隔,如下所示:

"Bob's shop"'"The best store on the web"'

另外,您可以使用反斜杠將引號轉義,如下所示:

'test\'s'

常見的手動抓取任務

鏈接檢查器 創建一個自定義鏈接檢查器 -按照以下簡單說明,了解如何創建自定義鏈接檢查器。
圖像下載 從網站下載所有圖像 -了解如何從整個網站下載所有圖像。
創建數據集 提取數據並進行轉換 intoa數據集 -了解如何從要抓取的網站創建數據集。
提取鏈接 從網站中提取鏈接 -了解如何從整個網站提取所有HTML鏈接,以及 save 它們以您想要的格式。
選擇文字 使用模式從文本中提取值 -了解如何使用模式從文本塊中提取值。
OCR 從圖像中提取文本 -了解如何提取圖像中包含的文本。
數據集 如何填充數據集 -使用填充更好地格式化提取的數據。
排列 操縱數組 -了解如何使用特殊的數組實用程序方法輕鬆處理刮擦中的數組。
行動 刮擦期間僅執行一次操作 -了解如何在整個抓取過程中僅執行一次操作。
篩選 完善抓取的數據 -了解如何從剪貼簿中刪除不需要的數據。
電子郵件 從網站抓取電子郵件地址 -了解如何從網站上抓取所有電子郵件地址。
截圖 屏幕截圖整個網站 into PDF或圖像 -了解如何使用GrabzIt的Web抓取工具捕獲整個網站的每個頁面。
截圖 從非結構化文本中提取結構化信息 -使用GrabzIt提取情緒,姓名,位置和組織。

刮除HTML以外的內容

當Web Scraper遇到PDF,XML,JSON和RSS時,它將把它轉換為HTML近似值,這使我們的Web Scraper可以正確解析它,並且您可以選擇要提取的內容。 例如,如果您想解析JSON數據,它將轉換數據 int分層HTML表示,如側面所示。 這使您可以像往常一樣構建刮削指令。

刮板以類似的方式加載PDF文檔時,將轉換PDF into HTML,允許選擇和抓取圖像,超鏈接,文本和表格。 但是,由於PDF沒有真正的結構,因此表是使用啟發法來標識的,因此並不總是準確的。

導出選項

此選項卡允許您選擇希望如何導出結果,包括Excel電子表格,XML,JSON,CSV,SQL命令或HTML文檔在內的選項。 此外,此選項卡允許設置壓縮刮擦結果的名稱。 如果僅下載文件或創建Web捕獲,則無需選擇導出選項,因為您將僅收到包含結果的ZIP文件。 此選項卡還允許您指定希望如何發送結果。 您可以通過發送結果 亞馬遜S3, Dropbox的, 電子郵件通知, 則fTP的WebDav.

最後一個選項是回調網址,通過使用我們的網址,我們可以在您的應用程序中處理抓取結果 抓取API.

可以通過取消選中“使用默認文件名”選項並設置所需的文件名來設置壓縮結果或每個數據文件(如果您要求將它們單獨發送)的文件名。 此外,可以通過將時間戳添加到您的文件名中 {GrabzIt_Timestamp_UTC+1} 在文件名中。 +1表示相對於UTC的小時數偏移量。

您也可以通過以下方式查看抓取的結果: 查看結果 按鈕,在旁邊 你刮,這將顯示任何實時的抓取結果以及最近48小時內進行的以前的抓取結果。

時間表刮

建立網頁抓取時,「計劃抓取」標籤可讓您設定何時開始抓取,以及如果希望重複,則應設定重複的頻率。 也可以將抓取配置為在偵測到網頁上的變更時執行。 去做這個 當網頁變更時啟動 複選框,然後輸入要監控的網頁的 URL,以及 CSS選擇器 您所在頁面的部分 int選擇頁面的一小部分非常重要,以避免由於無關緊要的更改而導致誤報。

監視和調試廢品

網站抓取啟動後,狀態圖標將變為 並且已處理的頁面將隨著時間而增加。 定期生成刮擦進度的實時快照,並生成日誌文件以及刮擦器遇到的最後一個網頁的常規屏幕截圖。 這使您可以查看刮擦期間發生的情況。 要查找此信息,請單擊您的抓取旁邊的展開圖標,然後單擊 瀏覽器 為了抓 int清除。如果有任何錯誤(例如,您的抓取說明有問題),則應詳細說明。

刮擦成功完成後,狀態圖標將切換為 ,如果通過打開查看器沒有結果,則日誌和最後的屏幕截圖可能會告訴您出了什麼問題。

日誌中報告的最常見問題之一是沒有足夠的渲染延遲來刮取頁面,通常是 頁面加載延遲 發現於 抓取選項 標籤對於大多數網站來說就足夠了。