EasySpider任务流程有多个提取数据操作时,软件的执行和输出逻辑
一、数据交错问题描述
在使用EasySpider进行数据抓取时,若任务流包含多个提取数据的操作,软件逻辑每次执行完一个提取操作就会输出一行数据。因此,每一轮的采集会输出两行或多行数据,对应于不同的提取操作。假设有两个提取操作,软件每次会输出两行数据,第一行对应提取的字段A、B、C,第二行对应提取的字段D、E。
在这种情况下,软件的输出逻辑如下:
- 第1轮采集时,软件会先输出提取的A、B、C的数据,然后再输出D、E的数据。
- 第2轮采集时,A、B、C的数据会更新为新值,而D、E仍为第1轮的数据,直到D、E的值被更新为第2轮的数据。
这导致采集的结果中,偶数行和奇数行的数据可能会出现交错。
二、数据处理示例
假设任务流包含两个提取操作:
- 第一个提取操作提取字段A、B、C。
- 第二个提取操作提取字段D、E。
在每一轮执行时,数据输出如下:
| 轮次 | 字段A | 字段B | 字段C | 字段D | 字段E |
| :--: | :---: | :---: | :---: | :---: | :---: |
| 1 | A1 | B1 | C1 | D1 | E1 |
| 2 | A2 | B2 | C2 | D1 | E1 |
| 3 | A2 | B2 | C2 | D2 | E2 |
| 4 | A3 | B3 | C3 | D2 | E2 |
1. 通过Excel手动处理
我们可以通过Excel简单操作,删除数据交错的行。例如,将第2轮的结果与第1轮的D、E字段合并,第3轮的数据同理处理。具体操作步骤如下:
- 打开Excel,将数据导入。
- 删除每一轮数据中重复的行,即删除包含旧的D、E字段的行。
- 确保每一轮的提取数据对应正确后,保存处理后的表格。
2. 使用EasySpider V0.6.0版本
在即将发布的V0.6.0版本中,软件提供了一个新功能,允许用户设置是否在每次提取数据后生成新行。这意味着用户可以选择让提取操作在同一行内更新数据,而不是每次生成新行。这样可以避免数据交错问题,直接输出每轮提取的完整数据。
该功能的好处在于:
- 无需手动处理数据。
- 自动将每轮数据输出在同一行,确保数据的完整性和准确性。
数据交错问题是多轮数据提取时的常见现象,通过Excel的简单操作可以解决此问题。不过,使用EasySpider V0.6.0版本中的新功能,可以避免手动处理数据,直接生成一一对应的提取结果,大大提升了数据处理的效率和准确性。