import time
from datetime import datetime
from random import randintfrom requests_html import HTMLSession# from spider_wjx.configs import (QUESTION_ID, QUESTION_URL, POST_URL_MAP, QUESTION_INFO, ANSWER_TIMES)#改成自己的id
QUESTION_ID = 71699967
#问卷星答题地址
QUESTION_URL = "https://www.wjx.cn/m/{}.aspx".format(QUESTION_ID)#题目数量,这里只要单选题目的数量
QUESTION_NUM = 14# 提交问卷选项的url
POST_URL_MAP = "https://www.wjx.cn/joinnew/processjq.ashx?submittype=1&curID={}&t={}&starttime={}&rn={}"QUESTION_INFO = '''
题目:{}
选项:{}
随机选择结果:{}
~~~~~~~~~~~~~~~~~~~~~~
'''# 回答次数
ANSWER_TIMES = 200def parse_post_url(resp):'''解析出提交问卷的url'''# 找到rnrn = int(resp.html.search('rndnum="{}"')[0].split('.')[0])# 提交问卷的时间raw_t = round(time.time(), 3)t = int(str(raw_t).replace('.', ''))# 模拟开始答题时间starttime = datetime.fromtimestamp(int(raw_t) - randint(1, 60 * 3)).strftime("%Y/%m/%d %H:%M:%S")url = POST_URL_MAP.format(QUESTION_ID, t, starttime, rn)return urldef parse_post_data(resp):'''解析出问题和选项返回post_data'''post_data = {'submitdata': ""}questions = resp.html.find('.fieldset', first=True).find(".field")print(questions)for i, q in enumerate(questions):if i == QUESTION_NUM:post_data['submitdata'] = post_data['submitdata']+'15$'return post_datatitle = q.find('.field-label', first=True).textchoices = [t.text for t in q.find('.label')]random_index = randint(0, len(choices) - 1)choice = choices[random_index]post_data['submitdata'] += '{}${}}}'.format(i+1, random_index+1)print(QUESTION_INFO.format(title, choices, choice))time.sleep(0.5)# 去除最后一个不合法的`}`# post_data['submitdata'] = post_data['submitdata'][:-1]# return post_datadef post_answer(session, url, data):'''提交答案'''r = session.post(url, data)print('提交状态:{}'.format(r.status_code))def simulate_survey():'''模拟回答问卷'''session = HTMLSession()resp = session.get(QUESTION_URL)url = parse_post_url(resp)data = parse_post_data(resp)print(data)post_answer(session, url, data)def main():print('开始模拟填写问卷,共模拟{}次'.format(ANSWER_TIMES))for i in range(ANSWER_TIMES):simulate_survey()sleep_time = randint(1, 60)print('第{}次问卷填写完毕,即将沉睡{}s'.format(i+1, sleep_time))time.sleep(sleep_time)if __name__ == '__main__':main()

问卷星的自动答题脚本相关推荐

  1. python写自动答题脚本_问卷星的自动答题脚本

    import time from datetime import datetime from random import randint from requests_html import HTMLS ...

  2. 问卷星简单自动填写调查问卷

    这段时间,看到群里很多同学都在发链接请大家填写调查问卷,本文将基于目前使用较多的调查问卷软件--问卷星,实现问卷的自动填写. 功能实现: 1.在浏览器中添加书签,在书签中的地址栏中复制如下代码 2.代 ...

  3. 跳过问卷星微信登录答题限制 —— 浏览器伪装微信环境

    文章目录 1. 背景 2. 方法 3. 结果与讨论 4. 总结与展望 1. 背景 学校发布的问卷星问卷用于收集相关个人信息,但问卷只能在微信中作答,这不利于我的浏览器(网页端)中 JavaScript ...

  4. python写自动答题脚本_编写Python脚本拉取优学院答案

    上个月审计了云班课和优学院的前端代码,实现了强制修改视频进度和获取选择题答案的功能.但是单个发包效率太低了,昨晚开始着手写了一个脚本,早上修改了一下,基本功能写出来了.考虑到风险,这个脚本是获取答案, ...

  5. 问卷星python自动提交_GitHub - Awacky/WJX_Autosubmit: 问卷星问卷自动提交,Python3版本,2020年8月仍有效...

    WJX_Autosubmit 问卷星自动提交,Python3版本,2020年8月仍有效.采用构建随机答案,不支持验证码. 目前github上的可用版本并不多,同时个人接触较多问卷星的问卷,便萌生了用P ...

  6. (问卷星)自动填写问卷星脚本python、selenium

    该脚本只解决了单选,多选以及量表和矩阵量表,别的题目都没有改到,其次,如果多选有其他这个选项请修改代码,或者有最多和最少选择项规定,请修改源码. from selenium import webdri ...

  7. 触动精灵和按键精灵哪个好,如何用按键精灵ios触动精灵及脚本写自动答题脚本...

    答:都差不多,无非是键鼠图色功能,这些软件都具备!其它差异就看你对他们熟悉程序而选择了~~ 比如我经常用按键精灵 首选肯定是安卓按键! 答:不能! 答:只有越狱才有,越狱之后在Cydia搜索autot ...

  8. 问卷星 如何自动填写问卷

    目标: 1.自动填写 2.按指定要求填写 3.可以指定填写的份数 步骤: 一.设备要求:     1.chrome 安装SwitchyOmega     2.下载 burp suite(直接可以运行, ...

  9. 问卷星python自动提交

    这是需要验证码的爬虫,不需要验证码的只需在此爬虫修改一些 1.下载fiddler4(用于抓包) 方式自行百度 2.查看并分析cookie 里面的变量记得保证随机 'Host': 'www.wjx.cn ...

  10. welearn自动答题脚本

最新文章

  1. C语言不使用结构体实现链表,不用指针链表和结构体数组怎么编学生成绩管理系统啊...
  2. java 圆的交点_java求两个圆相交坐标
  3. 交叉表 列字段排序_Tableau学习系列(8):表计算
  4. django-模板的母版与子版
  5. 图像处理中ct图的通道是多少_新一代安检CT机,智能安防领域又一明星产品
  6. 数据分析_金额业务数据知识
  7. 返回顶部 模仿天猫的返回顶部代码 HTML JQuery CSS JavaScript
  8. 安装了谷歌服务框架还是闪退_小米手机安装谷歌服务(Google play)
  9. android 微信浮窗实现_Android仿微信文章悬浮窗效果的实现代码
  10. scratch实现猴子接苹果
  11. 怎样成为优秀的测试工程师
  12. 抗渗等级p6是什么意思_混凝土抗渗等级w4是什么意思?
  13. 生物类似药带量采购将至?互换性问题尚未达成一致,专家评议:难度很大,需要慎重-1
  14. 请列举你所知道的Object类的方法并简要说明。
  15. 矩阵旋转(左旋,右旋)
  16. Swift 中的类与结构体
  17. 云原生(三十三) | Kubernetes篇之平台存储系统部署
  18. 组态王与西门子S7 200 SMART连接
  19. C++(分数类,进行加减乘除的运算并化简)
  20. perl mysql 数据推拉_用perl 从mysql取出数据做统计分析代码

热门文章

  1. 计算机信息安全技术课后习题答案
  2. 论文中c语言程序的格式,毕业论文程序代码格式_毕业论文范本_论文的标准格式模板...
  3. 谷歌开源“穷人版”摘要生成NLP模型:训练成本低,只要1000个样本就能打败人类...
  4. 微信【PC电脑版】消息提示音怎么还原
  5. Java历史版本官方下载地址(Java 6、Java 7)
  6. 云南昭通暴雨强度公式_全国暴雨强度公式2018
  7. php的cvs,php基于Fleaphp框架实现cvs数据导入MySQL的方法
  8. android测试tf卡读写速度,高速TF卡 , 闪迪还是三星?读写速度对比以及上当经历...
  9. 推荐:总能找到一个你觉得最好的免费电子书下载网站
  10. Ubuntu下安装QQ(wineQQ)