我是靠谱客的博主 大方小甜瓜,最近开发中收集的这篇文章主要介绍抢课脚本-8线程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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线程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部