python写自动答题脚本_问卷星的自动答题脚本
import time
from datetime import datetime
from random import randint
from 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 = 200
def parse_post_url(resp):
'''
解析出提交问卷的url
'''
# 找到rn
rn = 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 url
def 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_data
title = q.find('.field-label', first=True).text
choices = [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_data
def 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()
python写自动答题脚本_问卷星的自动答题脚本相关推荐
- 关于如何自动填写并提交问卷星
关于如何自动填写并提交问卷星 今天想要刷问卷,网上找了许多,遇到了两个比较大的问题,一个是不知道如何填写想要的内容(选择题)还有一个是不知道如何破解问卷星的点击验证 https://tp.wjx.to ...
- python问卷星 自动答题_问卷星自动答题神器
问卷星自动答题神器,由易语言编写的一个问卷星自动答题软件,输入答题界面地址即可实现多IP提交答题功能,可以设置提交份数,系统会模拟不同的IP进行作答并将答题内容上传到问卷星官方.可以进入问卷星官网界面 ...
- python实现随机抽取答题_问卷星可以随机抽取题库答题吗
问卷星可以随机抽取题库答题吗 简介 自动填写问卷并提交 , 然后自动刷新继续填写 , 适用于问卷星 , 欢迎 Star 上个月开源了一个 Python 项目(登上过 GitHub 最流行的 中文语言 ...
- 问卷星简单自动填写调查问卷
这段时间,看到群里很多同学都在发链接请大家填写调查问卷,本文将基于目前使用较多的调查问卷软件--问卷星,实现问卷的自动填写. 功能实现: 1.在浏览器中添加书签,在书签中的地址栏中复制如下代码 2.代 ...
- 跳过问卷星微信登录答题限制 —— 浏览器伪装微信环境
文章目录 1. 背景 2. 方法 3. 结果与讨论 4. 总结与展望 1. 背景 学校发布的问卷星问卷用于收集相关个人信息,但问卷只能在微信中作答,这不利于我的浏览器(网页端)中 JavaScript ...
- 异星工厂 自动机器人_异星工厂自动科研系统建造技巧_图文攻略
异星工厂自动科研系统建造技巧_图文攻略 1.建立基地第一件事是把周围的煤铁铜石用传送带串联循环,可以建一条大环路,然后把各个资源点产出的资源循环到上面,铁铜煤石采集机器的比例最好保持6:2:1:1. ...
- 苹果 python蚂蚁森林自动收能量_通过测试工具自动收取蚂蚁森林能量
本文仅为自动化工具appium的技术研究,请勿用于任何非正当用途 最近在家远程工作,结果作息更混乱了,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树"大业" ♂️.于 ...
- 我的世界服务器java启动脚本_我的世界自动重启脚本教程
今天为大家带来了我的世界自动重启的一个脚本,如何让服务器自动重启呢?那就来看看小编为大家带来的文章吧! 首先,你要有一个对应你服务器核心的插件,能让你的服务器实现定时关闭服务器. 说白了就是定时或者定 ...
- python写个礼物送人_送你个情人节礼物:Python版抖音同款表白神器
又到了一年一度的情人节!大家都准备送什么给自己心仪的对象呢? 鲜花.巧克力都太俗套了,今天给大家带来一个抖音上看到的表白神器 - 用Python写一个告白程序,让她看到你满满的爱(tao)意(lu). ...
最新文章
- 打造数字原生引擎,易捷行云EasyStack发布新一代全栈信创云
- mysql get_mysql GET DIAGNOSTICS 语法
- Postgres数据库备份与还原命令
- 2020-11-13(混淆技术)
- 160个Crackme033
- linux部署的java应用,浏览器访问时,报域名解析错误
- 【游记】CCHO TY国初划水记
- unity如何得到所有子对象_Unity用户手册-Mesh合批
- 实验6.1 定义一个基类Animal
- php模拟登录京东,京东jos 获取授权及php-sdk的使用示例
- 程序员面试金典——1.2原串翻转
- kotlin支持jdk1.8编译,使用Java8特性
- ES6躬行记(3)——解构
- gevent实现套接字
- 基于matlab道路交通标志牌,基于MATLAB的道路交通标志识别
- 【跨年烟花代码】用C语言来写“烟花”,快拿去给心中的那个人看
- matlab模拟掷骰子,利用几何画板模拟掷骰子实验
- 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
- 中国大学生学习与发展追踪研究(2007年至今)与中国综合社会调查(2003-2017年)与中国社会状况综合调查(2006-2019年)
- 【软件设计】BDD由内而外采用策略
热门文章
- nginx服务器绑定域名和设置根目录的方法
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
- 【原创】纯干货,Spring-data-jpa详解,全方位介绍。(转)
- In-Sat:今年全球VoIP用户将达5500万
- 5.3多线程条件变量
- 一天一种设计模式之五-----代理模式
- exchange 2013 lesson 4 - installing
- nginx+keepalived安装配置(整理中)
- [置顶] Mybatis技术(二) MyBatis-Spring
- Time包详解二-timer和ticket.html