# 选择器概述
Web Scraper 内置了多种选择器,可用于与网站进行交互和数据提取,具体可分为三类:
# 用于提取数据的数据提取选择器
数据提取选择器从选中的元素中返回数据,例如文本(Text)选择器提取的是选中元素内的文本,以下选择器都可用于数据提取:
- 文本选择器(Text)
- 链接选择器(Link)
- 链接弹出选择器(Link popup)
- 图片选择器(Image)
- 表格选择器(Table)
- 元素属性选择器(Element attribute)
- HTML选择器(HTML)
- 组合选择器(Grouped)
# 用于页面导航的链接选择器
链接选择器可提取出链接中的 url 并用于后续的数据提取,例如:选择器树的结构为一个链接选择器下有三个文本选择器,Web Scraper 将使用链接选择器提取所有的链接,然后分别打开每一条链接并使用三个子选择器进行数据提取。当然,链接选择器也可作为另一个链接选择器的子选择器,这样就能进行更深层级的页面导航。目前可用的链接选择器包括:
- 链接选择器(Link)
- 弹出链接选择器(Link popup)
# 用于选区分隔的元素选择器
元素选择器用于多条相似记录的选区分隔,例如:一个电商网站包含一个商品列表,元素选择器用于选中所有的商品,元素选择器下的子选择器只会在单个商品的范围内进行数据提取,互不干扰。目前可用的元素选择器包括:
- 元素选择器
- 元素滚动选择器
- 元素点击选择器
# 选择器配置
每个选择器都有相应的配置选项,以下是通用选项,特定选项在相应选择器的章节再详细说明:
- 选择器(selector) —— 指的是 CSS 选择器,用于选中要操作的元素。
- 多选(multiple)—— 当一个选择器要提取出多条相似结构的记录(也就是导出时有多行数据)时需要勾选上。
- 延迟(delay)—— 指定选择器执行前等待的时间。
- 父选择器(parent selectors)—— 指定当前选择器作为哪些选择器(一个或多个)的子选择器,从而形成选择器树结构。
WARNING
注意!一个常见的错误是在同一层级创建了两个选择器并且都勾选了多选选项,然后希望爬虫能够智能地将两个选择器提取的数据进行配对组合,例如:分别选择了电商网站里的分类链接和分类里的分页链接,希望他们会变成一个分类+多个分页的形式,这个效果并不会实现。正确的做法是使用元素选择器选中外层的包裹元素并勾选上多选选项,然后在元素选择器下添加子选择器,不需要勾选多选,因为包裹元素已经将其限定在一个元素的范围。