本次介绍的是一个公共课的学习网站,通过requests库模拟用户发出的请求达到课程的迅速观看。
打开浏览器控制台进入目标网站尝试登陆发现
发现网站没有对密码进行加密cookie无明显变化直接使用以下代码保存cookie
import requests
requests = requests.session()
登陆后查看课程,在控制台搜索开始学习
发现前方有个href标签包含地址,其中id和cid这两个参数很重要(后面会用到)点开始学习后会进入到课程页面
打开F12控制台找到对应链接,我们会发现所有的视频链接都是以这中形式存在。其中有参数id,sid,mid,courseclassid,以及chapterid。
然后我们点击视频,进入视频页面
打开F12控制台,随着视频的观看发现请求了一个网址
不难发现其中的参数和上面id,sid,mid,courseclassid,以及chapterid对应。响应的值为
写出代码
headers = {
'authority': 'wrggk.whvcse.edu.cn',
'accept': '*/*',
'accept-language': 'zh-CN,zh;q=0.9',
\# 'content-length': '0',
'origin': 'https://wrggk.whvcse.edu.cn',
'referer': 'https://wrggk.whvcse.edu.cn/Viewer/CoursePlay.aspx?class=0&id=1080&sid=14210&mid=63365&courseClassId=831&chapterId=14203',
'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
}
params = {
'cpid': '63365',
'bjtime': '59.978762',
'courseid': '1080',
'stepid': '63365 ',
'courseClassId': '831',
't': '60',
}
response = requests.post('https://wrggk.whvcse.edu.cn/Viewer/timetop.aspx', params=params, headers=headers)
结果:成功