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 爬虫问卷星填写相关推荐

  1. python爬虫之自动填写问卷星调查表

    系列文章目录 python爬虫之自动填写问卷星调查表 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一.python爬虫填写问卷星 二.使用步骤总结 ...

  2. 学习python实现问卷星自动填写问卷

    学习python实现问卷星自动填写问卷 文章目录 学习python实现问卷星自动填写问卷 任务一:找帖子 思路一: 配置环境: 利用CSS选择器对页面进行解析 我们发现,我们所有的题目的回答的选项的标 ...

  3. 用Python实现问卷星自动填写(超详细!!!)

    用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...

  4. Python实现问卷星自动填写和选择

    Python实现问卷星自动填写和选择 啊哈哈哈,我朋友叫我帮他填写问卷星,,我就直接写了个python脚本帮他一次性解决 全随机,全自动,一开始我用的是BP直接抓包发送,不过发送频率过快会让你验证,, ...

  5. Python实现问卷星调查问卷自动填写

    文章目录 前言 一.配置环境 1.1 下载依赖selenium 1.2 安装chrome驱动 1.3 引入库 二.简易版快速上手教程 1.自定义变量 2.自定以函数 3 主函数编写 三 逐步解析 1 ...

  6. python实现问卷星自动填写(可以跳过智能验证)

    最近有一个社会实践需要做问卷调查,突发奇想搞一个自动化脚本,省事省米 1 下载依赖selenium selenium是一款网页爬虫重要的工具. 2  安装chrome驱动 这里需要准备chrome浏览 ...

  7. python 实现问卷星自动填写多份

    问卷星的问卷填写 工具:burpsuit,python 问卷星亲测,可以用python的requests库对问卷访问填写.首先对访问的页面进行抓包,得到的header部分照抄到requests的hea ...

  8. 使用python实现问卷星自动答题功能——基础篇

    题主在学习的过程中,老是有人来让填问卷星,就觉得人填的很麻烦,于是就自己动手写了一个python脚本来实现自动填写问卷星 1.首先我们得学会使用python里面的一个库,selenium,这个库是用来 ...

  9. python自动化------问卷星刷问卷3.0版本

    接上,之前做的问卷星刷问卷的功能单一,每个题目只能选一个选项.现在的3.0版本功能增加了计数器(刷了几份问卷).多选项的选择.通过滑块验证.想要了解之前的相关信息请看下面的链接: 隔壁寝室刷问卷刷疯了 ...

最新文章

  1. 浪漫的形式有100种,单身的就1种!
  2. 细节决定成败(竞赛错题经验总结)
  3. [ZZ]职场白领必读:《如何成为PPT高手》(秋叶出品,完整版免费下载)
  4. 顺序查找-判断质数/记录出现次数
  5. mysql 不锁表备份_Mysql不锁表备份之Xtrabackup的备份与恢复
  6. 跑山么、后浪们?2.0T+237匹大马力后驱CT4山路试驾体验
  7. Lucas(卢卡斯)定理
  8. 如何设置dedecms自定义表单必填项?
  9. android 自定义园动画,如何在Android中绘制一个带有动画的圆
  10. 计算机地图制图算法与原理重点,计算机地图制图算法.pptx
  11. 实验:IP 与 ICMP 分析
  12. python seek_Python 文件 seek() 方法
  13. HDMI RGB_TO_DVI模块
  14. 银行营销策略数据分析 - 智能定位
  15. 【Office软件使用】Word往框里打勾
  16. 华硕服务器主板装系统,华硕主板安装windows11失败?BIOS设置教程
  17. 跳动的爱心代码--李峋爱心代码(完整源码)
  18. 佛寺风飘飘,塔上幡摇摇
  19. 2016集训队论文姜志豪
  20. 谈谈papi酱的价值

热门文章

  1. shell检测连接数最多的IP
  2. MTK android 可修改IMEI方法
  3. wallpaper动态壁纸软件
  4. tooth的用法_tooth的复数和用法例句
  5. 虚拟示波器-开天斧-STC8H8K64U核心功能实验板测试
  6. python线性回归实例 x轴坐标相同_python深度学习-tensorflow实现一个线性回归的案例...
  7. 通过css让图片设置成黑白色
  8. mybatis处理joda datetime
  9. matlab如何打开dcm_MATLAB绘图干货
  10. 在线编译linux,在线就能用的Linux我给你找好了