掌上学院app答案抓取

colinxu 2019-08-02 PM 787℃ 1条

女友入职前要求做这个,苦于正确率太低,抓个包分析了一下,写了一个小脚本获取掌上学院题目的答案。


import requests
import json
api = 'http://study.study2win.net/front/game/getQuestResultNew'
header = {
    'dt': '1561878996041',
    'rs': '874e1335-08d1-4ba3-8668-655bd013179a',
    'sg': '279B2317AAA45CA0A134AB50E9B0F2D5220ABA',
    'App_Version': 'Android_3.8.0',
    'X-Access-Token': 'V1.0|d0rL4sBd1jp770EheX9wdPwq6wB2vKa1kCmxq+gufMcdpchTc3wRCwp8yhvijua6fNbg1Q/QD1mMaCtZX+x3LMOfC'
                  'G1JSYu5rOPZXeoBSzbu54zZn2MF3W8T8wJKuGWU',
    'X-CRT': 'rn5PPFZj0nwiYfTn3flSAbKxNtpA6EnSpXck9yW1jHCzlrO37lex4kLED30TI7Iu',
    'Content-Type': 'application/json; charset=utf-8',
    'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 8.1.0; 16 X Build/OPM1.171019.026)'
}
data = {"questInstId": "7805389", "questId": "180983", "gameInstId": "449868", "userId": "1406327", "orgId": "3917"}
answer = ['A', 'B', 'C', 'D']
resp = requests.post(api, data=json.dumps(data), headers=header)
esp_json = json.loads(resp.text)
for index, item in enumerate(resp_json['result']['answerAnalysisList'][0]['examPaperQuestionsVo']):
    an = ''
    for i, v in enumerate(item['examQuestionVo']['examQuestionOptionVos']):
        if v['correct'] == 1:
            an += answer[i]
    print(index + 1, ':', an)

抓取答案前需要先做一遍闯关,用抓包工具获取data里面的数据
他这个‘X-Access-Token’固定的,不会过期,抓包一次可重复使用

标签: python, 爬虫

非特殊说明,本博所有文章均为博主原创。

评论啦~



唉呀 ~ 仅有一条评论


  1. 咚咚咚
    咚咚咚

    呵呵,大晚上来逛逛

    回复 2019-09-20 22:47