1. 程式人生 > 其它 >python爬蟲 - js逆向之猿人學第十二題

python爬蟲 - js逆向之猿人學第十二題

分析 開啟介面: 翻頁,找介面: 看引數: 也是m,不多說,看到最後有【=】,先猜一波是不是base64,拿著去解碼:

前言

繼續分析,為什麼一下從第二題跳到了十二題,我也不知道為啥他這個平臺的難度不循序漸進,把這麼一個非常簡答的題放在了後面,既然簡單,那就快速解決了

分析

開啟介面:

翻頁,找介面:

看引數:

也是m,不多說,看到最後有【=】,先猜一波是不是base64,拿著去解碼:

發現就是yuanrenxue+頁碼,然後base64加密,行,果然乾脆,簡單

python實現

不多說,直接程式碼:

import requests
import base64
from urllib.parse import quote

headers = {
    'accept
': 'application/json, text/javascript, */*; q=0.01', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9', 'cache-control': 'no-cache', 'pragma': 'no-cache', 'user-agent': 'yuanrenxue.project', 'x-requested-with': 'XMLHttpRequest', 'cookie': 'sessionid=換成你的sessionid
' } def fetch(page): m = base64.b64encode(f'yuanrenxue{page}'.encode('utf-8')).decode() url = f'https://match.yuanrenxue.com/api/match/12?page={page}&m={quote(m)}' req = requests.get(url, headers=headers) res = req.json() data = res.get('data') data = [temp.get('value') for temp in
data] print('temp', data) return data def get_answer(): sum_number = 0 for i in range(1, 6): cont = fetch(i) sum_number += sum(cont) print('答案:', sum_number) get_answer()

執行:

填入答案:

結語

這個就真的是入門級的了,寫出來呢,主要還是為了完整性而已,免得以後的朋友看到,會問為啥沒有第12題