猿人学题库第七题——请求规律检测——采坑式学习

1. 首先先抓包能看到抓取第一页,第二页,第三页,第四页的时候每次 challenge7 请求前面都有个 cityjson 请求,这里后台有个请求规律判断,必须请求 cityjson之后在请求challenge7才能获取数据。

2.发起 cityjson 后会返回 var returnCitySN = {"cip": "ip地址", "timestamp": "1744011432"}; 值,估计后端 会给 ip 做一个标识 和一个时间戳

3.所以逻辑就是先执行 cityjson 请求在执行 challenge7 ,就能返回正常数据了。接下来话不多说直接撸代码。

4.完整代码:

python 复制代码
import requests



headers = {

    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
    'x-requested-with': 'XMLHttpRequest',
}
vuels=0
for i in range(1,101):
    data = {
        'page': i,
    }
    requests.post('https://www.python-spider.com/cityjson',  headers=headers)
    response = requests.post('https://www.python-spider.com/api/challenge7',  headers=headers, data=data)
    print(response.json())
    decrypted_numbers = [int(s['value']) for s in response.json()['data']]
    vuels+=sum(decrypted_numbers)
print(vuels)
相关推荐
東雪木6 小时前
Java学习——重载 (Overload) 与重写 (Override) 的核心区别、底层实现规则
java·开发语言·jvm·学习·java面试
zl_dfq7 小时前
Python学习4 之 【函数】(函数的相关语法、下划线的使用、global与nonlocal关键字)
python·学习
承渊政道7 小时前
【优选算法】(实战剖析链表核心操作技巧)
开发语言·数据结构·c++·vscode·学习·算法·链表
li星野7 小时前
DeepSeek-V3介绍
学习
正经人_x7 小时前
学习日记36:TokenSeg
学习
VelinX7 小时前
【个人学习||spring boot】
spring boot·后端·学习
计算机安禾7 小时前
【数据结构与算法】第20篇:二叉树的链式存储与四种遍历(前序、中序、后序、层序)
c语言·开发语言·数据结构·c++·学习·算法·visual studio
m0_564876848 小时前
提示词工程Zero-Shot、One-Shot、Few-Shot
人工智能·深度学习·学习
ZhiqianXia8 小时前
Gem5 学习笔记(3) : 源代码鸟瞰
笔记·学习
看见代码就想敲8 小时前
java学习之(Maven pom.xml 详细讲解)
java·学习·maven