猿人学web端爬虫攻防大赛赛题第12题——入门级js
1.猿人学web端爬虫攻防大赛赛题第12题——入门级js
2.猿人学web端爬虫攻防大赛赛题第13题——入门级cookie3.猿人学web端爬虫攻防大赛赛题第17题——天杀的http2.04.猿人学web端爬虫攻防大赛赛题第1题——js 混淆 - 源码乱码5.猿人学web端爬虫攻防大赛赛题第3题——访问逻辑 - 推心置腹6.猿人学web端爬虫攻防大赛赛题第4题——雪碧图、样式干扰7.猿人学web端爬虫攻防大赛赛题第15题——备周则意怠-常见则不疑8.猿人学web端爬虫攻防大赛赛题第16题——js逆向 - window蜜罐9.猿人学web端爬虫攻防大赛赛题第19题——乌拉乌拉乌拉10.猿人学web端爬虫攻防大赛赛题第2题——动态cookie11.猿人学web端爬虫攻防大赛赛题第5题——js 混淆 - 乱码增强12.猿人学web端爬虫攻防大赛赛题第6题——js 混淆 - 回溯13.猿人学web端爬虫攻防大赛赛题第7题——动态字体,随风漂移14.猿人学web端爬虫攻防大赛赛题第20题——2022新春快乐题目网址:https://match.yuanrenxue.cn/match/12
解题步骤
- 看流量包和其回显数据。
- 只有一个流量包,那就是只要访问该网址就能获取页面数据。看下请求地址的组成。
- 变量
m
一看就是base64编码,解码看下原字符串。
再尝试访问第二页,看看原字符串组成的规律。
- 比较明了了,原字符串就是
yuanrenxue
加当前的页面数。搞明白这个,就可以写代码爬取这5页的数据了。
得到答案。import requests import base64 import time import re url = "https://match.yuanrenxue.cn/api/match/12" sum_num = 0 suffix = "yuanrenxue" headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 " "Safari/537.36", "cookie": "Hm_lvt_c99546cf032aaa5a679230de9a95c7db=*****; HMACCOUNT=*******; qpfccr=true; " "no-alert3=true; tk=*******; sessionid=*******; Hm_lvt_9bcbda9cbf86757998a2339a0437208e=*******; Hm_lpvt_9bcbda9cbf86757998a2339a0437208e=*******; Hm_lpvt_c99546cf032aaa5a679230de9a95c7db=*******" } pattern = r'{"value": (?P<num>.*?)}' for i in range(1, 6): m = base64.b64encode((suffix + str(i)).encode("utf-8")) params = {'page': i, "m": m} resp = requests.get(url, params=params, headers=headers) findall = re.findall(pattern, resp.text) for num in findall: sum_num += int(num) time.sleep(0.5) print(sum_num)
提交答案,通过。
合集:
猿人学爬虫攻防刷题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】