问卷星自动填写

前言

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

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

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

无限 debugger

问卷链接:

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

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

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

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

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

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

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

填写逻辑

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

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

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

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

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

核心代码为:

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

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

源码获取

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

END

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注小编呗~小编给你分享爬虫,数据分析,可视化的内容噢~

扫一扫下方二维码即可关注我噢~

-END-

  • 26
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值