吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19555|回复: 87
收起左侧

[原创] 学小易接口抓取与分析

  [复制链接]
zxm870973 发表于 2020-6-22 14:10
由于本人最近上网课有好多题目不会做,然后就有好友向我推荐“学小易”这款搜题软件。
用着用着发现这款软件很好,基本所有的题目都能搜索到,慕课上的或者其他题目它都能搜索到。
美中不足就是发现学小易没有电脑端,每次搜题都要把题目发送到手机搜索,觉得很麻烦,所以就有了这篇文章。

第1步,打开MUMU模拟器,启动黄鸟。
1.png
第2步,打开学小易进行搜题,比如我随便搜索一下。
2.png
第3步,打开黄鸟,查看抓包内容,可以发现这里我们发送的是post请求
3.png
然后post请求参数如下:
4.png
发现学小易这边的返回的都是明文,并没有加密
5.png
我们转码看一下,直接就可以得到明文了并不需要解密。

6.png

通过我反复测试分析,发现有些请求并不需要都传过去,并且可以直接通过get请求获取结果。
7.png
8.png
可见,只需请求 http://app.51xuexiaoyi.com/api/v1/searchQuestion?keyword=你需要搜索的题目
然后在header传入你的token,app-version就可以正确的请求接口。接下来我们就可以自制一个自己专用的搜题软件了。
java 请求核心代码如下:
9.png
作者自用的PC版搜题软件如下:嘿嘿!!
10.png


免费评分

参与人数 8吾爱币 +13 热心值 +6 收起 理由
姜来式 + 1 + 1 最近准备抓,参考一下作者的
ghc_laile + 1 + 1 热心回复!
码上 + 1 我很赞同!
Xkf1217 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
张小凡。 + 1 我很赞同!
鹏哥666 + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
liyizhuang + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yongee 发表于 2020-6-24 11:38
我刚把篇帖子里的python代码给优化啦一下
我是加啦一个自己登录的地方 这样每个人不用去自己抓token 用自己的账号搜 也不出意外
[Python] 纯文本查看 复制代码
import requests

import json
import re
while True:
    user = input("请输入你的学小易账号:");
    password = input("请输入你的学小易密码:");
    print('正在登陆中...请稍等!')
    url0='https://app.51xuexiaoyi.com/api/v1/login'
    data0 = {
        "username":user,
        "password":password
             }
    headers0 = {
        'platform':'android',
        'app-version':'1.0.6',
        'content-type':"application/json; charset=utf-8",
        'accept-encoding':'gzip',
        'user-agent':'okhttp/3.11.0'
    }
    denglu=requests.post(url0, headers=headers0,json=data0).text.encode('utf-8').decode('unicode_escape')
    print(denglu)
    if '登录成功' in denglu:
        tokens=re.search(r'"api_token":"(.*)","userid"',denglu).group(1)
        #print(tokens)
        break
while True:
    a = input("请输入需要查的题目:");
    url = 'https://app.51xuexiaoyi.com/api/v1/searchQuestion'
    data = {
        'keyword': a
    }
    headers = {
        'token': tokens,
        'device': '',
        'platform': 'android',
        'User-Agent': 'okhttp/3.11.0',
        'app-version': '1.0.6',

        'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",
        'Accept-Encoding': "gzip, deflate, br"
    }
    r = requests.post(url, headers=headers, data=data)
    # print(r1.json())

    html1_str = json.dumps(r.json(),sort_keys = True, indent = 4, separators = (',', ':'))
    str =html1_str.encode('utf-8').decode('unicode_escape')
    forword = re.sub(r'"ey(.*)",',' ', str)
    print(forword)
忆白学渣 发表于 2020-6-22 15:11
隔壁家的王二狗 发表于 2020-6-22 15:05
老哥完整代码发一下我去试试

[Python] 纯文本查看 复制代码
import requests

import json



while True:
    a=input("请输入需要查的题目:");
    url='https://app.51xuexiaoyi.com/api/v1/searchQuestion'
    data={
        'keyword': a
    }
    headers = {
        'token':'你自己的',
        'device':'这里应该也是你自己的,忘了',
        'platform':'android',
        'User-Agent':'okhttp/3.11.0',
        'app-version':'1.0.6',
        
        'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",
        'Accept-Encoding': "gzip, deflate, br"
        }
    r = requests.post(url,headers=headers,data=data)
    #print(r1.json())
    
    html1_str=json.dumps(r.json(), sort_keys=True, indent=4, separators=(',', ':'))
    print(html1_str.encode('utf-8').decode('unicode_escape'))
    

忆白学渣 发表于 2020-6-22 14:17
我之前用Python搞过一次,第二天就账号异常了
忆白学渣 发表于 2020-6-22 14:19
image.png
niebaohua 发表于 2020-6-22 15:25
 楼主| zxm870973 发表于 2020-6-22 15:04
wyc1122wyc 发表于 2020-6-22 14:59
可否提供源代码。。

改天写个简单的java版demo吧,但是实际还是用的自己的token,只是不需要打开手机再搜题
moyuwl 发表于 2020-7-2 07:46
哈哈呵呵哒哒 发表于 2020-6-30 20:04
大佬手机小黄鸟是不是要vpn过检啊,为什么我抓学小易的时候都直接网络异常,软件能不能分享一下

用模拟器搞
culprit 发表于 2020-6-22 16:12
这样还是要登账号啊
 楼主| zxm870973 发表于 2020-6-22 14:26
忆白学渣 发表于 2020-6-22 14:17
我之前用Python搞过一次,第二天就账号异常了

我都挂我服务器好久了,今天还能用啊,你是不是请求太频繁了
 楼主| zxm870973 发表于 2020-6-22 14:27
忆白学渣 发表于 2020-6-22 14:17
我之前用Python搞过一次,第二天就账号异常了

你是不是准备爬它题库 我就是平常搜题自己用用
忆白学渣 发表于 2020-6-22 14:28
zxm870973 发表于 2020-6-22 14:27
你是不是准备爬它题库 我就是平常搜题自己用用

唔,可能是
戒心 发表于 2020-6-22 14:40
他这个题库实属庞大
wyc1122wyc 发表于 2020-6-22 14:59
可否提供源代码。。
KSPprince 发表于 2020-6-22 15:01
这样的题库包含了什么科目,是所有科目都支持吗
 楼主| zxm870973 发表于 2020-6-22 15:03
KSPprince 发表于 2020-6-22 15:01
这样的题库包含了什么科目,是所有科目都支持吗

你可下载手机版的学小易搜索试试,题库确实很不错,但是一般人做题很少用手机搜索,相对较麻烦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 12:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表