JS逆向:猿人学爬虫比赛第十二题详细题解

实战地址

http://match.yuanrenxue.com/match/12

抓包分析

地址栏输入 地址,按下F12并回车,发现数据在这里:

JS逆向:猿人学爬虫比赛第十二题详细题解_第1张图片

仔细分析,无cookie,只有一个 加密的m参数,控制台atob解码一下:

JS逆向:猿人学爬虫比赛第十二题详细题解_第2张图片

暂时还无法发现规律,继续请求第二页,并将加密参数解码:

JS逆向:猿人学爬虫比赛第十二题详细题解_第3张图片

这下规律清楚了,很快,就写出了源代码:

import base64
import requests


def btoa(srcstr):
    return base64.b64encode(srcstr.encode()).decode()


headers = {
    "User-Agent": "yuanrenxue.project",
    }


sum = 0


for i in range(1,6):
    srcstr = f"yuanrenxue{i}"
    params = {
        "page":i,
        "m":btoa(srcstr),
        }
    api_url = "http://match.yuanrenxue.com/api/match/12"


    r = requests.get(api_url,params = params,headers = headers)
    data = r.json()
    values = data["data"]
    for value in values:
        print (value)
        sum += value["value"]


print (sum)


运行后,得到结果:

JS逆向:猿人学爬虫比赛第十二题详细题解_第4张图片

基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。基本没啥难度吧。

你可能感兴趣的:(url,md5,consul,proxy,es)