最常見的要求之一是從網站提取數據並將其打開 int可以導出以進行進一步處理的表格結構。 但是,什麼是數據集以及如何在數據集中使用 網頁抓取工具?
以下是數據集中包含的表數據 價位表,表格由三列組成 物品標籤, 商品描述 及 商品價格.
物品標籤 | 商品描述 | 商品價格 |
---|---|---|
相機 | 拍攝數碼照片 | $ 99.00 |
要創建此數據集,您將需要使用以下刮刮說明。
Data.save('Camera', 'price list', 'item label'); Data.save('Takes digital photos', 'price list', 'item description'); Data.save('$99.00', 'price list', 'item price');
這使用 Data.save
添加一個方法 數據值 到特定的 數據集 及 欄。 每次 Data.save
使用相同的數據集和列名稱參數調用方法,將新行添加到該列。 但是,上面的抓取指令不是非常有用,因為我們正在使用靜態值創建數據集。 下面的代碼顯示了網頁的HTML,然後我們將編寫抓取指令以從網頁中動態提取數據,並 save it intoa數據集。
<html> <body> <span id="spnLabel">Nikon 1055</span> <span id="spnDescription">Great little camera, creates clear sharp images.</span> <span id="spnPrice">$99.99</span> </body> </html>
我們現在將使用 Page.getTagValue
從span標籤中提取值的方法。
Data.save(Page.getTagValue({"id":{"equals":"spnLabel"}}), 'price list', 'item label'); Data.save(Page.getTagValue({"id":{"equals":"spnDescription"}}), 'price list', 'item description'); Data.save(Page.getTagValue({"id":{"equals":"spnPrice"}}), 'price list', 'item price');
如您所見 Page.getTagValue
方法使用過濾器,該過濾器唯一地標識需要從中提取文本的HTML元素。 在這種情況下,過濾器指定id HTML屬性應等於 spnLabel, spnDescription or spnPrice 分別。 您可以通過點擊 圖標,其中顯示了一個嚮導,可簡化過濾器的構造。
如此處所示構建數據集後,您可以決定如何在 導出選項 標籤。