前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问卷星自动填写

问卷星自动填写

作者头像
用户6825444
发布2020-12-08 16:57:29
2.9K0
发布2020-12-08 16:57:29
举报
文章被收录于专栏:木下学Python木下学Python

前言

问卷星是一个大学生都在用的问卷采集工具,每到期末,朋友圈总会有一大波问卷席卷而来。

可不可以自动填呢,可以的,小编找了一份问卷,使用 python 实现了一下,成功得到了几份问卷。

问卷星的反爬还有点厉害,涉及到无限 debugger。

无限 debugger

问卷链接:

https://www.wjx.cn/m/99634699.aspx

打开链接,打开开发者工具,过了几秒后,就会被打上断电,暂停掉:

点击运行又会跳回这个页面,怎么点都没用,代码都查看不了,这就是无限 debugger,要解决呢,这里介绍两种办法,

第一是最直接简单的,取消断点,但这样做的话自己要打断点调试就不可以了,有局限。

第二种使用 Fiddler 修改网页返回内容过滤掉debugger标签可以破解此套路。

对于问卷星,使用第一种就可以了点击取消断点,再点击运行,就可以检查元素了:

接下来就可以编写问卷填写逻辑了。

填写逻辑

对于此问卷,有多页,都是选择题,对于这种需求首先想到的是 selenium 咯,模拟浏览器自动填写。

另外的思路就是破解提交问卷后的请求,但这种有点难度,就选最直接的方法了。

问卷星的问题虽然有多页,但所有页的所有问题的代码都可以在第一页的代码中看到:

上图中是问题第一页,在这一页,查看源代码,发现问卷的 8 页的代码标签都在这了,所以不需要翻页去查看后面的问题了。

接下来就简单多了,问题就是提取所有页的标签,循环每一页标签,从每一页标签中提取每个问题,再随机选择答案,翻页,最后提交。

核心代码为:

最后运行代码,自动填写后,问卷成功提交:

设置循环次数,这样就可以得到一些问卷,但同一个 ip 次数太多的话就会被验证了,可以换 ip 试试。

源码获取

在公众号“木下学Python”回复“问卷星”即可获取。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木下学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档