什么是节点?
为了简化规则开发和数据采集,NDS提供了3类节点:关联节点、列表节点和详情节点。组合这3类节点既可以定义采集规则。
关联节点
关联节点由一系列动作组成,这些动作将按顺序执行。通常,我们使用关联节点来新打开一个网址、提交搜索以准备搜索结果页或为下一个节点做一些准备。
关联节点从上到下逐一执行操作。在遇到 >由此进入下一个节点< 动作时,关联节点将立即进入下一个节点,并在完成所有后续节点的任务后,再续执行本关联节点剩余的操作。 如果本关联节点中没有>由此进入下一个节点<,则将在执行完所有操作后自动进入下一个节点。
列表节点
列表节点用来处理一页中重复结构的数据采集.例如:
- 一个表中的多行
- 电商商品列表页中的多个商品信息
- 搜索结果页中的多个搜索结果项
所有这些页面都有一个公共特点:其中有多个结构或布局相似的块,每个块都包含类似的字段,如标题、价格、简要描述等。
以Google Map搜索结果为例:
Blocks Fields 在这里,左侧突出显示的每个餐厅都是一个块,块中的餐厅名称作为字段突出显示。直观一点理解: 块类似于采集结果中的行, 而块中的字段类似于每一行中的单元格的值。
网站通常通过鼠标向下滚动或单击翻页按钮显示更多块。
列表节点有 3 个选项卡:数据、分页和导航。
数据选项卡:
用来声明块和字段,以及在每个块处理之前执行的任何动作分页选项卡
声明如何装载更多的列表和列表块,并在加载新页面/列表之前执行的动作导航选项卡
宣布如何导航到下一个节点
- 详情节点
与列表节点不同,详细节点从当前页面采集一次性内容。(则与页面的类型无关, 可以从列表页面中采集一次性的内容)
在列表节点和详情节点中,您可以通过点击"节点名称"之后的大头针图标 () ,将当前页面与节点建立关联。 而后通过单击或自动导航到本节点时,浏览器会自动加载节点关联的页面。