日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/4/5 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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写自动答题脚本_问卷星的自动答题脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。