概述
import requests
import re
import sys
import threading
import time
cookies = {
'semester.id' : '402',
'JSESSIONID' : 'A604909531C60F32C0212F19F470254C',
'GSESSIONID' : 'A604909531C60F32C0212F19F470254C'
}
url = 'http://jwgl.cuit.edu.cn/eams/stdElectCourse!batchOperator.action?profileId=2919'
data = {
'operator0':'73833:true:0'
}
code = ['74361'] #目标科目
j = 0 #累计请求次数
thread_num = 8 #线程数
threadLock = threading.Lock()
class myThread(threading.Thread):
def __init__(self, output_list):
threading.Thread.__init__(self)
self.output_list = output_list
def run(self):
global j
while 1:
if j % 300 == 0:
print('n第' + str(j) + '轮: by '+self.getName())
print(int(time.time()))
for i in code:
data = {
'operator0': i + ':true:0'
}
r = requests.post(url, data=data, cookies=cookies)
text = r.text[3050:3450]
try:
result = re.findall('<div style="width:85%;color:red;text-align:left;margin:auto;">(.*?)</br>', text, re.S)[0]
result = re.findall('ntttt(.*)', result)[0]
except:
print('----------------抢课成功1--------------')
pass
if '已经选d过' in result:
print(result + ' -----选课成功2----')
if j % 300 == 0:
print(result)
# print(result)
# j += 1
threadLock.acquire() # 获得锁
j += 1 # 临界区代码
threadLock.release()
for i in range(thread_num):
thread = myThread([])
thread.start()
for i in range(thread_num):
thread.join()
最后
以上就是大方小甜瓜为你收集整理的抢课脚本-8线程的全部内容,希望文章能够帮你解决抢课脚本-8线程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复