NaiboWang / EasySpider

A visual no-code/code-free web crawler/spider易采集:一个可视化浏览器自动化测试/数据采集/爬虫软件,可以无代码图形化的设计和执行爬虫任务。别名:ServiceWrapper面向Web应用的智能化服务封装系统。
https://www.easyspider.net
Other
30.37k stars 3.58k forks source link

使用JSON格式保存数据,数据出现重复。 #406

Closed Jerryzhao83 closed 1 month ago

Jerryzhao83 commented 1 month ago

系统环境: win11 EasySpider版本: 0.6.2

操作流程: 打开页面1,提取数据1 打开页面2,提取数据2 打开页面3,提取数据3

采集数据结果,保存为json格式, 每次提取数据都选择了“提取数据前清空其他操作字段已记录的值” 和 “此提取数据操作后生成新数据行”。 但是json结果,会分为3个json节点, 第1个节点内,后两个元素为空,只有数据1。 第2个节点内,第3个元素为空,有数据1和数据2。 第3个节点内,3个数据都有。 以上三个数据都为单个元素,非数组。

希望情况: 1,每个提取节点单独保存为一个json节点。(感觉此种较好,因为每个提取数据环节可能提取的数据量不同) 2,只保留一个最后json结点,包含所有采集数据。(其实和上面的每个节点单独保存应该一样,因为每个提取数据过程,可能数据量不同)。

请大佬指正,这种需求思考是否正确。

Jerryzhao83 commented 1 month ago

我重新设计了字段名称, 每次打开页面,开始采集的时候,所提取字段 1、使用同样的字段名称。 2、使用同样的提取数据结构。 这样就可以解决了。

NaiboWang commented 1 month ago

好的。

Jerryzhao83 commented 1 month ago

感觉这里面还是有点欠缺。

同一个页面,有3个二维表格。 (一) 这3个表格的数据结构不同,不具有相同的字段名。 我如果在一个采集过程中,进行采集,并按照表格数据进行提取,就要有3个循环。 但是最后提取出的JSON结果就如问题所述,任意个循环节点的字段,会出现在其它循环节点里。 (二) 如果这3个表的数据结构相同,字段名相同。 就不会出现题目所述情况。

希望达到的目标: 每个循环(或者提取数据操作)按照单独json节点存储数据。 每个json节点不保存其它数据。

大佬这个目标思路,可有实际意义?望赐教。

NaiboWang commented 1 month ago

目前不支持这种做法,你可以拆成三个任务,每个任务一个表格来实现。

Jerryzhao83 commented 1 month ago

收到。

我现在采用的就是拆成3个任务的方法。