I Wanna Take This Course, let me in!!!
话不多说,懂的都懂。
import requests
import time
import re
# 获取课程序号
course_id = input('请输入课程序号:')
cookies = input('请输入cookies:')
profileId = input('请输入本次选课网址中的profileId:')
# 定义目标URL、要搜索的成功字段和自定义请求头
url = 'http://bkjw.***.edu.cn/eams/stdElectCourse!batchOperator.action?profileId='+f'{profileId}'+'&retakeDetail='
success_keyword = '成功'
custom_headers = {
'Host': 'bkjw.***.edu.cn',
'Connection': "keep-alive",
"Content-Length": "53",
'Accept': 'text/html, */*; q=0.01',
'DNT': '1',
'X-Requested-With': 'XMLHttpRequest',
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.62",
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Origin': 'http://bkjw.***.edu.cn',
'Referer': 'http://bkjw.***.edu.cn/eams/stdElectCourse!defaultPage.action?electionProfile.id='+f'{profileId}',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ja;q=0.5',
'Cookie': f'{cookies}'
}
while True:
# 设置请求体内容
data = {
'optype': 'true',
'operator0': f'{course_id}:true:0',
'retakeDetail': ''
}
# 发送带有自定义请求头的HTTP POST请求
response = requests.post(url, data=data, headers=custom_headers)
# 检查响应状态码
if response.status_code == 200:
result = response.text
pattern = r'>\n\t\t\t\t(.*)</br>'
match = re.search(pattern, result)
if match:
result_text = match.group(1)
print(result_text)
# 检查响应内容是否包含成功字段
if success_keyword in response.text:
print('选课已成功,停止请求。')
success = input('选课成功,请按任意键退出')
break # 如果找到成功字段,停止请求循环
else:
print("请求失败,请检查网络、cookies有效性及所填信息是否准确")
failed = input('选课失败,请按任意键退出')
break
# 如果没有找到成功字段,等待300毫秒后再次发送请求
time.sleep(0.3)
云姐姐好厉害~前来围观!
草,不厉害,我是菜鸡
长大校友吗?搜索畅课下载课件遇到了,网站做的很不错,太强辣!
谢谢,要是能帮上忙就太好不过了