2020上半年,新型冠状病毒肺炎肆虐全国,大部分高校开学受到影响,各个高校成立了自身的疫情防控指挥部负责疫情防控工作,我所在高校的年级在疫情期间,要求所有学生进行健康打卡,打卡方式为每日填写问卷星发布的问卷。
每日需要进行打卡的问卷分为三部分,第一部分为基本情况登记,一共7题。如下图所示:
第二部分为健康情况登记,一共4题。如下图所示:
第三部分为个人情况登记,一共4题。如下图所示:
以上15道题是学校要求每天都要完成的,实际上对于我来说,每天要填写的内容差别并不大,正好疫情在家对Python语言有一定的学习和了解,因此,运用爬虫技术处理问卷成为了我那时在思考的问题。
可以看出,问卷的15道题有单选(如第10题)、多选(如第8题)、也有下拉填空(如第6题)和单项填空(如第1题),这四种题目类型,基本覆盖了所有问卷星常用的题目类型,因此探讨该爬虫的实现方式,受益匪浅。
值得注意的是,问卷的发布者是通过手机还是电脑发布的问卷对于爬虫的部分实现代码存在差异,不过底层逻辑是一致的,本文以问卷发布者采用电脑端发布问卷为例。