Python 爬虫问卷星填写
Python 爬虫问卷星填写
因为一些没必要的问卷作业,需要一批问卷数据。尝试用Python实现问卷星的问卷填写,参考了目前网络上的Python问卷星的填写,貌似很多漏洞已经修复了。12月时,基本上爬虫的方式来批量填写已经不能完成。但是,既然有了问题还是要解决的。
以下是目前网络上流传的方式
1、利用Python + selenium 实现模拟浏览器
参考:https://blog.csdn.net/yan_star/article/details/89848105
成果:可以实现浏览器的正常打开,并能够实现问卷的输入
问题:在提交时候会出现智能验证码,貌似问卷星会检测是否为爬虫,尝试过加入header参数,目前无法解决。
2、传统构建 post 请求,通过参数传递的方式进行填写
参考:https://www.jianshu.com/p/34961ceedcb4
成果:可以实现网页链接的构建,但是请求失败
问题:目前问卷星添加了更多的验证参数,导致数据请求失败(22表示请求失败)
这里写一下主要的参数改变,通过抓取问卷星实际的POST请求进行测试,筛查掉一些没有必要的参数外,主要参数包括以下几个:
param = {"jqpram":"?","jqsign":"%3F6%3Fc%3Ed37%2B0%6040%2B23%3Eg%2B%3F223%2Bdd0%3F5025cc52",# 可以根据ktimes 和 jqnonce 生成"jqnonce":"可以直接问卷链接请求中获取,生成jqsign",# "starttime":"请求时间,可以直接问卷链接请求中获取","curID":"问卷星的编码值,可以直接问卷链接请求中获取","submittype":1,# 问卷类型,一般为 1"rn":3673390564,"sd":"http%3A%2F%2Fwww.wjx.cn%2F" # 默认值"ktimes":15 # 完成时间"rn":"从请求中获取,相较之前发生变化,只保留前半部分"
}
相较之前博主写的,目前post请求已经发了一部分变化,其中最主要的变化在于添加了 jqpram,参数,这个参数我在请求中查找了一段时间,最终放弃了通过手动来生成,原因是,给出的js代码全是密文,应该经过问卷星加密后的,目前暂时没办法读,链接附上,感兴趣的可以尝试一下。
解决方案
既然按照传统的爬虫,行不通,有需要批量的填写,怎么办呢?那直接使用原链接试一试(貌似也不算是正规的爬虫了)。方法如下
首先,需要通过浏览器的开发者工具,获取当前需要填写的问卷的post请求链接,(跳转貌似很快,注意使用浏览器的暂停功能,防止链接被刷掉),(点击提交,再点击浏览器的红色按钮,暂停浏览器)
得到 URL,填写post请求参数,格式如下
- " 题目编号"+”$"+“题目选项(多选采用 | 分隔)”+“}"
1$4}2$2}3$1|3|4}4$3}5$3}6$1}7$3}8$4}9$3}10$1}11$2}12$1|2|4}13$1|2|3|4}14$1|2|3|4}15$1|2|3|4
最后就是愉快的发送请求了,采用最简单post请求方式即可
response = requests.post(url=post_url, data=data, headers=header)
,这样也可以根据需要填写,headers,和 cookie参数,但是好像没有也问题不大,(当然最好还是要有的)目前测试过,问卷星貌似不会封 ip,但是会限制一定时间的请求数量,最好请求一次后,sleep 一会再进行请求,一般100张的问卷需要半小时左右。
当然,为了提高效率,可以采用多个 种子URL,同时进行请求,貌似也是可以的
大概解决方案就是这样,当然,这不是最好的解决办法,而且,比较机械,本人能力有限,这大概时目前找到的可行的解决办法。
!!python写问卷星,只是权宜之计,好孩子还是不要学的
Python 爬虫问卷星填写相关推荐
- python爬虫之自动填写问卷星调查表
系列文章目录 python爬虫之自动填写问卷星调查表 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一.python爬虫填写问卷星 二.使用步骤总结 ...
- 学习python实现问卷星自动填写问卷
学习python实现问卷星自动填写问卷 文章目录 学习python实现问卷星自动填写问卷 任务一:找帖子 思路一: 配置环境: 利用CSS选择器对页面进行解析 我们发现,我们所有的题目的回答的选项的标 ...
- 用Python实现问卷星自动填写(超详细!!!)
用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...
- Python实现问卷星自动填写和选择
Python实现问卷星自动填写和选择 啊哈哈哈,我朋友叫我帮他填写问卷星,,我就直接写了个python脚本帮他一次性解决 全随机,全自动,一开始我用的是BP直接抓包发送,不过发送频率过快会让你验证,, ...
- Python实现问卷星调查问卷自动填写
文章目录 前言 一.配置环境 1.1 下载依赖selenium 1.2 安装chrome驱动 1.3 引入库 二.简易版快速上手教程 1.自定义变量 2.自定以函数 3 主函数编写 三 逐步解析 1 ...
- python实现问卷星自动填写(可以跳过智能验证)
最近有一个社会实践需要做问卷调查,突发奇想搞一个自动化脚本,省事省米 1 下载依赖selenium selenium是一款网页爬虫重要的工具. 2 安装chrome驱动 这里需要准备chrome浏览 ...
- python 实现问卷星自动填写多份
问卷星的问卷填写 工具:burpsuit,python 问卷星亲测,可以用python的requests库对问卷访问填写.首先对访问的页面进行抓包,得到的header部分照抄到requests的hea ...
- 使用python实现问卷星自动答题功能——基础篇
题主在学习的过程中,老是有人来让填问卷星,就觉得人填的很麻烦,于是就自己动手写了一个python脚本来实现自动填写问卷星 1.首先我们得学会使用python里面的一个库,selenium,这个库是用来 ...
- python自动化------问卷星刷问卷3.0版本
接上,之前做的问卷星刷问卷的功能单一,每个题目只能选一个选项.现在的3.0版本功能增加了计数器(刷了几份问卷).多选项的选择.通过滑块验证.想要了解之前的相关信息请看下面的链接: 隔壁寝室刷问卷刷疯了 ...
最新文章
- D(背)P(包)专题
- mysql为什么每天0点就装东西_MySQL的详细安装教程
- 通过composer安装阿里大于接口扩展
- C++实现线段树求区间和-区间查询
- mybatis3 中 @Provider 的使用方式
- 【IOS】从android角度来实现(理解)IOS的UITableView
- mysql的权限管理
- Qemu(纯软实现)架构+KVM(基于kernel模拟硬件)原理(一)
- 51. yii csrf
- LM2903器件使用说明
- unity抗锯齿关闭
- mysql 文本类型的长度
- 鸿蒙系统桌面壁纸,华为鸿蒙桌面怎么设置好看
- 【Visual C++】游戏开发五十四 浅墨DirectX教程二十一 视觉的诡计:公告板(Billboard)技术
- labelImg安装所遇到的那些坑
- 乔布斯去世十年,粉丝哀叹苹果正失去昔日创新光环,但库克是更好领导者
- 只用div+CSS做淘宝手机端首页
- 点餐系统部署文档,java后台部署和微信点餐小程序的部署
- /proc/sysrq-trigger说明
- Realtek WiFi concurrent 模式介绍
热门文章
- python学习5(input函数)
- 开发模式和软件系统开发
- 计算机硬盘170gb,假的:《最终幻想15》PC推荐配置GTX1080Ti+170GB硬盘为误传
- uni-app - 设置最外层容器高度为100%
- E. Xenon's Attack on the Gangs,Codeforces Round #614 (Div. 2),树形dp
- 推荐这几个不错的提取伴奏在线软件给大家
- MongoDB设置账号密码
- Java时间操作类库—Joda-Time
- GitHub简单入门教程
- SRT视频字幕的解析与同步