# -*- coding: UTF-8 -*-
# "特定时刻自动填写问卷星,事先只知道问卷url和post_data"
# "最新版的问卷星self._uri_param中hlv, sd, ktimes, jqnonce, jqsign 需要添加,求助前辈,谢谢"
import schedule
import re
import requests
from urllib import request, parse
from time import time, strftime, localtime
class Sojump(object):
def __init__(self, jq_url):
self._uri_param = {}
self._jq_url = jq_url
self._jq_base = "https://www.wjx.top/jq/29947929.aspx"
self._uri_base = "https://www.wjx.top/joinnew/processjq.ashx?{}"
self._init_param()
def _init_param(self):
resp = request.urlopen(self._jq_url)
text = resp.read().decode()
self._uri_param['submittype'] = '1'
self._uri_param['t'] = str(int(time() * 1000))
self._uri_param['starttime'] = strftime("%Y/%m/%d %H:%M:%S", localtime())
self._uri_param['rn'] = re.search(r'rndnum="(\d+)(.\d*)*"', text).group(1)
self._uri_param['curID'] = re.search(r'(\d+).aspx', resp.geturl()).group(1)
# hlv, sd, ktimes, jqnonce, jqsign 需要添加
def job(self):
data = {'submitdata':'1$xiaoming}2$2}3$3'}
# url = 'https://www.wjx.top/joinnew/processjq.ashx?submittype=1&curID=29947929&t=1540814900034&validate_text=mpr7&starttime=2018%2F10%2F29%2020%3A05%3A09&rn=989089766.09490419&hlv=1&sd=http%3a%2f%2fwww.wjx.cn%2f&ktimes=46&jqnonce=781f04a9-55e0-4b9b-be6f-3d38c2db9c03&jqsign=%19%16%1FH%1E%1AO%17%03%1B%1BK%1E%03%1AL%17L%03LK%18H%03%1DJ%1D%16M%1CJL%17M%1E%1D'
get_data = parse.urlencode(self._uri_param)
request_url = self._uri_base.format(get_data)
req = requests.post(request_url, data)
print(req.text)
if __name__ == '__main__':
sj = Sojump("https://www.wjx.top/jq/29947929.aspx")
schedule.every(0.1).minutes.do(sj.job)
# schedule.every().wednesday.at("13:15").do(sj.job) # 待修改
while True:
schedule.run_pending()