最常见的要求之一是从网站提取数据并将其打开 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 分别。 您可以通过点击 图标,其中显示了一个向导,可简化过滤器的构造。
如此处所示构建数据集后,您可以决定如何在 导出选项 标签。