收集表的使用与批量图片下载
作者:互联网
0X00 任务提出
由于疫情防控需要,学校配置了人脸识别红外测温闸机,按项目建设方的要求,需要采集学生信息,文本类资料可以直接从学籍系统里调取,但所需的关键数据人脸信息,由于学籍库里的学生照片清晰度差,面部特征不够突出,无法满足设备识别要求,需要重新拍照采集。临近期末,课程十分紧张,如何快速、高效、准确、一次性完成采集,摆在了我们信息中心的面前。
0X01 方案准备
首先想到的是让家长拍照后发给班主任,一想到可能面对出现的五画八门艺术照、生活照,加之不能增加家长负担的原则,直接放弃了;其次考虑由我们信息中心去拍照,让班主任来对着照片认人并命名,瞅瞅课程表,瞧瞧一脸疲惫的徐老师,再想想这几百人的数据,这条方案明显走不通;既然叫信息中心,那就得搞点高并发的事情来做,同时尽可能降低资源消耗,这次,就使用收集表和皋城小学无所不能的班主任来做好这件事。
0X02 背景介绍
收集表是一种快速信息采集工具,得益于互联网的高速发展,依托几家大型公司的技术福利,原来需要我们手工搭建的表单提交平台,可以用简单的几个勾选之后实现,这方面做的较早的是问卷星,后来表单大师和简道云陆续入场,目前阿里钉钉和腾讯文档也提供这项功能服务,今天我们就是利用腾讯文档的收集表功能完成上述任务。
0X03 创建收集表
登陆doc.qq.com,选择QQ或微信登陆,然后进入创建环节。
他提供许多模板,可以直接一字不动的套用,新建空白项目可以搭建个性化的问卷,这里可以使用问答、单选等九种采集类型,我们这次只要用其中的问答(姓名、学名、备注)、下拉选择(班级)、图片题(照片)。
我们做完后的成品如下图所示
0X04 数据收集
生成的收集表可以直接发给QQ/微信好友填写,还可以复制链接或以二维码形式分发出去,目前测试在电脑端与移动端都可以完美填写,甚至在钉钉的群里都可以,此外,如果资料涉及一定密级,还可以控制在哪个范围内哪些人可以填写,若资料收集时效性要求强,还可以勾选上“有人填写后通知我”,随时掌握收集进度。
现在,我们把这张表愉快的偷偷发到了皋小班主任群里,然后带好饭卡,抓紧躲到食堂去等饭吃了。
0X05数据处理
收集后的结果可以直接在线查看,图片实时预览,数据量稍大时一般我会导出到本地处理,菜单中“导出为->本地Excel表格(.xlsx)”,
下载后,可以在本地打开,后面就是”表哥”和“表妹”们继续表演时间了。
0X06 图片批量下载
目前看来我们的工作是已经完成了的,正当建设方准备笑眯眯的要数据时,我们发现了一个挺大坑出现了:采集的图片都是以超链接的形式保存在表格中的,真实数据在腾讯的服务器上,如果手动操作的话,需要一个一个点开,然后另存为本地图片。先不说近七百个学生的数据量大不大,单就保存时误写错孩子名字的概率就很大,这种既不高效又不科学的方法肯定不是我们信息组的风格。怎么办?撸起袖子,干!
这里需要解决两个问题,一个是要把超级链接的链接以明文形式提取出来,二是要批量下载并重命名,前段时间对Python颇为痴迷,想着生猛万能的Pandas库,一股英雄气概顿时从脚下生长出来,就在打开Pycharm准备开撸时,突然感觉哪里不对?人家是Excel表呀,微软的亲儿子,Excel除了不会生孩子还有啥不行?人家有搞定灭霸的VBA这个超级武器呢。
愉快的勾勾叉叉的把开发者工具菜单调出来,打开亲爱的VBA环境,开心的写上两个过程ExtractHyperlink()和DownLoadPIC()
在工作表上轻松拖两个按钮控件,写上“获取链接”和“下载照片”八个大字,稍微关联一下两个过程。
点一下试试看
0X07 总结
常看一些大牛说数据处理三件宝,python/excel/sql,经过一些具体事情的折磨与教育,我高高的举起双手,深深的表示赞同,面对每天避无可避的信息流,如果没有一个有效的方法和一套有效的工具,那种被海水快要淹死的感觉就会如影随行。
PS:文中成品文件可以从以下地址获取
标签:批量,收集,Excel,可以,班主任,图片下载,采集,填写 来源: https://blog.csdn.net/laguoqing/article/details/113835119