【X-Plan】03_数据处理


前言

前两边文章讲了总体的思路和最开始的数据获取,在有了基本的数据之后,下一步需要思考的就是怎么处理数据?这里我们先提出总需求:将文本数据转换为图片数据;其中涉及

  • 如何转换为图片
  • 如何清洗一些文本内容
  • 如何处理一些意外情况

在本篇文章中,我尝试尽量把我们的思考,尝试和实践分享记录一下,


一、数据清洗

1.思路

由于原始数据是一系列的html文本数据,再转化为图片之前需要进行数据预处理——html文本清洗。
我们所需要做的就是:

  • 提取部分内容
  • 修改html元素
  • 保存新的html文本
    这里插一句,熟悉了解html相关的知识真的是有必要的,之前一直不熟悉相关的基础知识,顺便在此了解一下。
    结合项目需求,我们大体的数据可以分为几类,而且每一类数据差异都很大,因此一套统一的数据清洗规则不适用,结合不同数据的特征考虑编写一些不同的清洗规则。

2.实现

(1)library

  • bs4[核心]:解析html,便于进一步加工和处理html文本,主要使用find(),find_all()等
  • os:读写保存文本

(2)注意

  • 鲁棒性:对于异常处理的考虑,使用try-except或者if-else语句进行意外处理,例如有些对于每一种类型的tag是否存在
  • 差异性:不同文章的不同处理方式

二、图片转换

1.思路

如何将一段文本或者html元素转换为一个png图片呢?这里我们经过调研和实践,一是使用selenium自带的截图方法效果并不好,二是没有直接的函数去转换,最后我们选择使用imgkit整个库去进行转换,这个库也是封装了其他的方法——wkhtmltoimage,这个库是进一步封装qt和其他方法的库,其中还调用了一个外在的程序。

2.实现

  • imgkit:使用该库进行转换
  • wkhtmltoimage.exe:配合imgkit处理string数据,将其转换为图片

3.流程图

在这里插入图片描述

4.注意

在转换的过程中,遇到了很多的问题,其中有调用的外部程序处理文本的过程中,遇到的问题,图片转换后大小的问题,图片质量的问题,以及引入外部程序的问题,在此不一一细说,后续有空逐一列举和说明吧。

总结

数据转换,即将文本数据转换为图象数据,这一个过程就是本篇文章的主要内容,在实践的过程中我们其实遇到了很多的问题和讨论了很多,以及很多问题在后续的处理过程中又发现这里没有处理好遗留下来的问题。这里我通过科学上网方法去外面查了很多的资源,翻阅了源码和git仓库中的提问和StackOverflow上的提问等一切可以利用的资源,这里算是开眼界,涨知识了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值