列表页采集

上一部分展示了如何采集详情页,在其中每个字段对应一个字段。 本章节将讨论如何采集一页中重复的元素。

这儿我们以亚马逊的网页为例: https://www.amazon.com/Smart-Watch-Accessories/b/ref=dp_bc_aui_C_3?ie=UTF8&node=7939902011

第一步: 打开网页并确定待采集的内容

这儿有多个商品,每个商品有类似的结构。同时在页面的底部有一个明显的翻页按钮。 我们希望能采集前面5页的商品信息。

第二步: 启动DNS,点击‘高级采集’, 而后选择第二个模板:"点击翻页按钮采集多页".

NDS的模板生成的规则默认带有两个节点:

  • 开始 : 关联节点,带有打开网页的动作.
  • 列表1: 列表节点,带有空的块和一个空字段.

更多关于节点的说明,请参见 什么是节点?

第三步: 针对列表节点, 我们必须定义好, 以及至少一个字段.

所有的字段必须在选定的块以内, 所以选的块的时候, 可以将该商品的所有信息都选择其中。

元素选择器的使用, 请参见 选择器详解

这儿选择器显示当前页上有33个

第四步: 使用元素选择器为块内每个一字段选择对应的元素

为字段选择元素时,打开选择器对话框时,当前页内的所有会被高亮显示。只有高亮区域内的元素才是可以选择。

将鼠标移到字段对应的元素上,点击或者按下Shift后,选择器会自动选定每个内所有类似的字段元素。



针对每个字段, 你可以

  • 针对字段,进行某些特殊动作,这些动作会在采集之前执行 (通过点击 )
  • 定义期待抽取的字段元素的属性. 除了内置的属性,您也可以直接输入该元素上的特定属性名
  • 如果目标元素是图片,则可以声明下载图片
  • 按需转换数据格式 (通过点击 )
  • 如果不想采集具体元素,而只想输出固定值,可以输入一个默认值.
  • 可以声明将该字段的值输出到最终的数据表

页面上的元素和字段元素正确定义后, 您可以点击预览按钮 ( ) 来预览从当前页采集的结果。

第五步: 点击编辑器底部的‘下一步’导航到‘翻页’标签页

这儿我们定义如何通过翻页来装载采集更多列表

为了翻页的设置在后续所有的页面能正常工作,这儿我们需要确定:

  • 我们需要翻页吗?
  • 应该选择哪个翻页模式
  • 翻页的按钮是否定位正确.
  • 该翻页是否在后续的页面都能正常工作?即从第一页到第二页, 第二个到第三页等等
  • 到达最后一页的时候,是否能正常的结束?

如果没有更多的列表需要采集, 我们可以选定‘不需要’翻页即可。而后直接通过‘下一步’继续。

NDS提供了5中内置的翻页模式支持。这些翻页模式都不需要用户写任何代码。 为了选择最合适的,可以参考下面的向导:

  1. 翻页是通过鼠标点击完成的吗?

    1. 可以点击固定的按钮翻页吗?
      1. 翻页后的列表完全替换老的列表吗? 如果是, 则选择‘点击固定的翻页按钮’
      2. 新的列表是附加在现有的列表后面吗? 如果是, 则选择‘点击更多按钮同业增量装载’
    2. 可以通过当前页码定位到下一页码吗? 如果是, 则选择‘根据当前页确定下一页点击’
    3. 页面上显示了所有的页码了吗? 如果是, 选择‘固定页码逐个点击’
  2. 是通过下滚鼠标装载更多的列表吗?

    1. 是滚动整个页面吗? 如果是, 则选择‘下滚实现同页增量装载’,同时滚动目标元素为空
    2. 是必须在特定的框里面滚动吗? 如果是, 则选择‘下滚实现同页增量装载’,同时滚动目标元素为该特定框

一旦选定了正确的翻页模式,我们需要正确的选定翻页的元素。NDS的选择器会智能的协助您选择对应的元素 更多细节请参见 翻页详解 元素选择器详解

一旦选定的了翻页模式和翻页元素, 可以简单的通过按钮()设定翻页的数量。

到目前为止,我们声明了列表页上的字段,以及如何翻页的方式和次数。 保存规则。 执行时, NDS会自动采集每一页列表并翻页到下一页列表。