捕獲和轉換Web的工具

Web Scraper文檔

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

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

抓取選項

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

刮板名稱 刮擦的名稱。

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

  • 根據需要-默認設置和最安全的選項,這將使抓取工具僅遵循其指示的鏈接
  • 所有頁面-抓取工具將跟踪其找到的每個鏈接
  • 第一頁-僅遵循第一頁上指定為目標的鏈接
  • n 初始頁面中的頁面-僅跟隨首頁上指定點擊次數的頁面上的鏈接
  • 框架中-跟隨框架和iframe中的鏈接

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

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

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

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

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

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

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

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

目標網站

目標網站

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

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

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

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

  • {{day}} –天為兩位數值
  • {{month}} –月為兩位數值
  • {{year}} –年(四位數)
  • {{hour}} –小時為兩位數值
  • {{minute}} –分鐘為兩位數值
  • {{second}} –秒,兩位數

最後,您可以指定 種子網址 以確保這些網址被抓取。

種子網址

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

要在“目標網站”選項卡上設置“種子URL”,請單擊“添加目標”按鈕,然後選中“設置種子URL”複選框,並指定每個要刮擦的URL。

從模板URL創建種子URL

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

{{start number|finish number|iterate number}}

  • 起始號碼 URL變量的起始編號
  • 結束號碼 URL變量結尾的數字
  • 重複編號 URL變量迭代的數字

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

例如以下模板URL http://www.example.com/search?pageNo={{1|3|1}}

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

  • http://www.example.com/search?pageNo=1
  • http://www.example.com/search?pageNo=2
  • http://www.example.com/search?pageNo=3

刮刮說明

抓取指令告訴Web抓取器在抓取目標網站時要執行哪些操作。 “抓取指令”選項卡默認情況下顯示抓取嚮導,這使添加所需的抓取指令變得容易。 要開始使用,請按 添加新的抓取指令 鏈接。

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

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

刮板模板

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

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

  • 所有網頁 -請勿使用模板,因為此刮取指令將在所有網頁上執行。
  • 默認模板 -不要使用用戶定義的模板之一。 抓取指令將在任何未指定模板的網頁上執行。
  • 用戶定義的模板 -您已定義的模板之一,用於標識特定的網頁或操作。

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

提取數據

您會注意到,當您選擇 提取數據 一系列操作可立即提取的數據項可在屏幕的左下角下載。 這些是您可以下載的整個頁面的屬性。 要選擇一個,只需從選項列表中選擇它,然後單擊 下一頁 將數據添加到 數據集.

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

創建數據集

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

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

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

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

  • 限制行 -這會將從網頁提取的行數限制為您定義的行數。 要使用點擊 然後單擊超出的行,然後將其剪掉。
  • 重複 -重複列項目,直到該列與最長列的長度匹配為止。 要使用,只需單擊 然後單擊您要重複其項目的列。
  • 變得獨特 -刪除所有輸入值的重複值 intoa列。 要使用,只需單擊 然後單擊您要使其唯一的列。
  • 提取值 -指定一種模式,僅從文本塊中提取匹配的數據項。 要使用,只需單擊 ,選擇相關列,然後按照說明創建一個模式,該模式將從 string.
  • 修剪值 -指定一種模式以修剪多餘的文本。 要使用,只需單擊 ,選擇相關的列,然後按照說明創建可修剪文本的圖案。
  • 鏈接列 -允許將列鏈接在一起。 這樣,在提取數據時,即使結果數量不匹配,記錄也會與鏈接列中的相對行顯示在同一行上。 要使用,只需單擊 ,選擇要鏈接的列,然後選擇要鏈接的列。
  • 隱藏欄 -有時您希望包括要過濾的列,但不想在最終結果中包括值。 為此,只需單擊 ,然後選擇要排除的列。
  • 升序 -按列排序,升序。 要使用點擊 然後選擇要排序的列。
  • 降序排列 -按列排序,降序排列。 要使用點擊 然後選擇要排序的列。
  • 包含 -僅包括包含定義值的值。 要使用點擊 選擇所需的列,然後輸入列值應包含的值。
  • 等於 -僅包括等於定義值的值。 要使用點擊 選擇所需的列,然後輸入列值應等於的值。
  • 不等於 -僅包括不等於定義值的值。 要使用點擊 選擇所需的列,然後輸入該列不應等於的值。
  • 少於 -僅包括小於定義值的值。 要使用點擊 選擇所需的列,然後輸入該列應小於的值。
  • 比...更棒 -僅包括大於定義值的值。 要使用點擊 選擇所需的列,然後輸入該列應大於的值。

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

修改完所有內容後,請點擊 下一頁 並且,您的抓取說明將添加到抓取中。

操縱網頁

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

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

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

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

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

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

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

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

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

手動編寫刮刮說明

如果您需要以更特定的方式自定義抓取指令,或者希望執行代碼 刮擦之前或之後 您將需要手動更改刮削說明。

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

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

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

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

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

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

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

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

全局功能 輸入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.

可以通過取消選中“使用默認文件名”選項並設置所需的文件名來設置壓縮結果或每個數據文件(如果您要求將它們單獨發送)的文件名。

時間表刮

創建Web剪貼簿時,可以使用“計劃剪貼簿”選項卡設置開始剪貼簿的時間以及重複的頻率(多長時間一次)。

監視和調試廢品

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

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

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