这是运行的结果
这是源代码
# -*- coding: utf-8 -*-
import json
import requests
# 在下面输入你的cookie
cookie = 'provider=xuetang; sajssdk_2015_cross_new_user=1; _abfpc=0dbfdda6643ae8c92396c7fe4d76df1555c62a99_2.0; point={%22point_active%22:true%2C%22platform_task_active%22:true%2C%22learn_task_active%22:true}; cna=1a19220d5f8d92699f782bbcc53c0f3a; _gid=GA1.2.526105917.1709371913; mode_type=normal; 59584271video_seconds=58; django_language=zh-cn; university_id=0; platform_id=0; xtbz=cloud; avatar=http://thirdwx.qlogo.cn/mmopen/QLR5aKwLYaNuMIHqZHs53gtEdTW2TjibsdDnjeia2IK1ks8L3q8tibUdmicoWzaoAe5ic29L2Lh94ehlicnthog0tGJS1tDg1icEVLG/132; name=Xayah; user_number=null; term=latest; user_role=null; 77831809video_seconds=0; undefinedvideo_seconds=0; _ga_CP9FHE8ET4=GS1.1.1709387007.2.1.1709387266.0.0.0; _ga=GA1.2.291316807.1709371912; JG_016f5b1907c3bc045f8f48de1_PV=1709387007784|1709387266202; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218dfe816947523-07f52f2060a4108-4c657b58-2073600-18dfe8169481b7f%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2218dfe816947523-07f52f2060a4108-4c657b58-2073600-18dfe8169481b7f%22%7D; login_type=P; csrftoken=OERDVQegXsumXr3FcsY2lMajlRqjrSY9; sessionid=7zoz7b3n7ny34pslipt292v41ly52ldi; k=77831809'
# 在上面输入你的cookie
headers = {
'authority': 'www.xuetangx.com',
'accept': 'application/json, text/plain, */*',
'django-language': 'zh',
'x-client': 'web',
'accept-language': 'zh',
'xtbz': 'xt',
'user-agent': 'jdapp;android;8.4.2;8.0.0;;network/wifi;model/Mi Note 2;osVer/26;appBuild/71043;psn/|7;psq/1;uid/;adk/;ads/;pap/JA2015_311210|8.4.2|ANDROID 8.0.0;osv/8.0.0;pv/2.23;jdv/;ref/com.jingdong.app.mall.WebActivity;partner/huawei;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 8.0.0; Mi Note 2 Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36',
'x-csrftoken': 'undefined',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://www.xuetangx.com/learn/henu08091007584/henu08091007584/19322491/chapter',
'cookie': cookie,
}
params = (
('cid', '19322491'),
('sign', 'henu08091007584'),
)
response = requests.get('https://www.xuetangx.com/api/v1/lms/learn/course/chapter', headers=headers, params=params)
print(response)
mJson = json.loads(response.text)
course_chapter = mJson['data'].get('course_chapter')
#print(course_chapter)
for i in course_chapter:
mCourse_chapter = json.dumps(eval(str(i)))
section_leaf_list = i.get('section_leaf_list')
print(section_leaf_list)
for m in range(len(section_leaf_list)):
eachChapter = section_leaf_list[m]
leaf_listReal = eachChapter
courseId = leaf_listReal['id']
print(eachChapter['name'] + ':')
print('id:' + str(courseId))
headers = {
'authority': 'www.xuetangx.com',
'x-mina-sessid': 'null',
'django-language': 'zh',
'accept-language': 'zh',
'user-agent': 'jdapp;android;8.4.2;8.0.0;;network/wifi;model/Mi Note 2;osVer/26;appBuild/71043;psn/|7;psq/1;uid/;adk/;ads/;pap/JA2015_311210|8.4.2|ANDROID 8.0.0;osv/8.0.0;pv/2.23;jdv/;ref/com.jingdong.app.mall.WebActivity;partner/huawei;apprpd/Home_Main;Mozilla/5.0 (Linux; Android 8.0.0; Mi Note 2 Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36',
'platform-id': '0',
'accept': 'application/json, text/plain, */*',
'x-client': 'apph5',
'xtbz': 'xt',
'university-id': '0',
'x-csrftoken': 'undefined',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://www.xuetangx.com/learn/henu08091007584/henu08091007584/19322491?avatar=http%3A%2F%2Fthirdwx.qlogo.cn%2Fmmopen%2FQLR5aKwLYaNuMIHqZHs53gtEdTW2TjibsdDnjeia2IK1ks8L3q8tibUdmicoWzaoAe5ic29L2Lh94ehlicnthog0tGJS1tDg1icEVLG%2F132&name=Xayah&user_number=null&term=latest&university_id=0&user_role=null&sessionid=null&csrftoken=undefined',
'cookie': cookie,
}
params = (
('sign', 'henu08091007584'),
('term', 'latest'),
('uv_id', '0'),
)
response = requests.get(
'https://www.xuetangx.com/mooc-api/v1/lms/learn/leaf_info/19322491/' + str(courseId) + '/',
headers=headers, params=params)
mJson = json.loads(response.text)
mLeaf_type_id = mJson['data']['content_info']['leaf_type_id']
print(mLeaf_type_id)
#print('leaf_type_id:' + str(mLeaf_type_id))
print('♥♥♥♥♥♥♥♥')
try:
# 正常的操作
headers = {
'authority': 'www.xuetangx.com',
'accept': 'application/json, text/plain, */*',
'django-language': 'zh',
'x-client': 'web',
'accept-language': 'zh',
'xtbz': 'xt',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36',
'content-type': 'application/json',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://www.xuetangx.com/learn/henu08091007584/henu08091007584/19322491/exercise/6325463',
'cookie': cookie,
}
response = requests.get(
'https://www.xuetangx.com/api/v1/lms/exercise/get_exercise_list/' + str(mLeaf_type_id) + '/',
headers=headers)
mJson = json.loads(response.text)
mDescription = mJson['data']['description']
mName = mJson['data']['name']
problems = mJson['data'].get('problems')
for i in problems:
mAnswer = str(i['user']['answer']).replace('[', '').replace(']', '').replace('\'', '')
print(mAnswer)
except:
# 发生异常,执行这块代码
print('⭐⭐⭐本章没有测试题,跳过!⭐⭐⭐')
print('---------------------------------------------------------------')
else:
# 如果没有异常执行这块代码
print('⭐⭐⭐本章答案获取完成⭐⭐⭐')
print('---------------------------------------------------------------')
食用方式是登录的时候,点击F12找到这个,粘贴它的cookie
到代码的位置就可以了
祝你好运