发布网友 发布时间:2022-04-27 05:51
共1个回答
热心网友 时间:2022-06-27 04:41
摘要1.确定采集途径 网页采集和api(网页,APP,小程序)采集, 网页采集需要使用工具(正则,HTMLAgility,Xpath这些)将我们 需要的数据提取出来。 要是api采集的话,一般回来直接就是json数据了。2.数据分析 采集是个系统化的操作,一般都会是多层级的数据采集,举个最简单的采集例子,新闻采集: 新闻分类 -> 分页新闻列表 -> 新闻详情 这里通常是一层一层地去采集:先获取分类,再找出分页参数规律,获取分类里面的所有新闻列表及详情超 链接,最后再请求详情链接得到新闻详情,最后再去下载图片视频等静态资源,每一步只做简单重复的步骤, 保证每个采集单元都是简单的操作,而不是一条链状的操作。3.写采集思路 分析数据完了以后不要急着写采集代码,先写写思路,包括采集过程中可能会遇到的问题:访问*(令牌、 访问频率)、超时处理、错误处理 等等,先想好写下来。3.数据实体类生成 因为采集回来的数据是一串文本,不方便处理,需要转成结构化的数据,这里采用先采集样例数据回来, 使用工具直接生成实体类,如这个工具:实体生成工具。4.开始采集 对于数据量比较大的采集,先采集一小部分数据回来检查一下数据的正确性,数据量小的就直接采集 确认没问题再去持久化,持久化时可以将原始采集数据保存下来, 写每一级别的采集代码,每一级都如此,走通整个链确定代码逻辑没问题之后就可以真正开始采集了5.采集异常中断处理 采集过程中一般都会遇到一些中断的问题:原始数据错误导致了程序错误、网络超时,访问* 可以采用小步数据持久化,如每采集200条记录存一次,清空一下内存里面的数据,记录采集进度位置, 继续采集,发生异常时可以做异常二次采集操作,像网络超时这种异常通过二次采集都是可以解决的, 最后如果二次采集都不行的话,就要记录下来,最后去手动处理了。6.静态资源下载 由于静态资源具有任务执行时间长,受网络因素影响严重等特点,一般都会放到文本数据采集完了以后再 去集中下载,此时任务就是简单的下载操作(新建文件夹,保存资源文件)。咨询记录 · 回答于2021-12-02静态数据采集流程和注意事项1.确定采集途径 网页采集和api(网页,APP,小程序)采集, 网页采集需要使用工具(正则,HTMLAgility,Xpath这些)将我们 需要的数据提取出来。 要是api采集的话,一般回来直接就是json数据了。2.数据分析 采集是个系统化的操作,一般都会是多层级的数据采集,举个最简单的采集例子,新闻采集: 新闻分类 -> 分页新闻列表 -> 新闻详情 这里通常是一层一层地去采集:先获取分类,再找出分页参数规律,获取分类里面的所有新闻列表及详情超 链接,最后再请求详情链接得到新闻详情,最后再去下载图片视频等静态资源,每一步只做简单重复的步骤, 保证每个采集单元都是简单的操作,而不是一条链状的操作。3.写采集思路 分析数据完了以后不要急着写采集代码,先写写思路,包括采集过程中可能会遇到的问题:访问*(令牌、 访问频率)、超时处理、错误处理 等等,先想好写下来。3.数据实体类生成 因为采集回来的数据是一串文本,不方便处理,需要转成结构化的数据,这里采用先采集样例数据回来, 使用工具直接生成实体类,如这个工具:实体生成工具。4.开始采集 对于数据量比较大的采集,先采集一小部分数据回来检查一下数据的正确性,数据量小的就直接采集 确认没问题再去持久化,持久化时可以将原始采集数据保存下来, 写每一级别的采集代码,每一级都如此,走通整个链确定代码逻辑没问题之后就可以真正开始采集了5.采集异常中断处理 采集过程中一般都会遇到一些中断的问题:原始数据错误导致了程序错误、网络超时,访问* 可以采用小步数据持久化,如每采集200条记录存一次,清空一下内存里面的数据,记录采集进度位置, 继续采集,发生异常时可以做异常二次采集操作,像网络超时这种异常通过二次采集都是可以解决的, 最后如果二次采集都不行的话,就要记录下来,最后去手动处理了。6.静态资源下载 由于静态资源具有任务执行时间长,受网络因素影响严重等特点,一般都会放到文本数据采集完了以后再 去集中下载,此时任务就是简单的下载操作(新建文件夹,保存资源文件)。