分享个人解题思路,如有大佬指正不足,请多指教😀(*^_^*)
第一题(入门):

第一题没有加密,只要请求重复请求响应的包就可以拿到所有的数据了。
有个简便的做法:1.打开F12 2在“网络”选项卡抓包后,对应的包右键点击,以cURL(bash)格式复制
之后打开 Convert curl commands to code这个网站
粘贴后复制到粘贴板后就可以到python上运行了
第一题代码如下
import requests
cookies = {
'xxxxxxx':'xxxxxxxx'}
headers = {
'xxxxxxx':'xxxxxxx'}
sum_data=0
for i in range(1,21):
params = {
'page': i,
}
response = requests.get('https://www.mashangpa.com/api/problem-detail/1/data/', params=params, cookies=cookies, headers=headers)
sum_data+=sum(response.json()['current_array'])
print(sum_data)
第二题(headers):

应为我们使用了复制Curl的方法,所以直接就包括了headers和cookie参数的设置,代码跟第一题一样,不用改变的哟
第三题(无限debugger):
一上来F12的时候出现了“无限debugger“的问题,就是不给我看到抓来的数据 😟
经典的操作就是
右键debugger处 一律不在此处暂停
重新刷新页面后,再次打开就可以再次取得数字值了
代码部分其实有个取巧的点,因为只是阻碍了你人为的获取抓包信息,但是直接python爬虫到指定页面元素其实是不影响的。
第三题代码:
import requests
cookies = {
'xxxxxxx':'xxxxxxxx'}
headers = {
'xxxxxxx':'xxxxxxx'}
sum_data=0
for i in range(1,21):
params = {
'page': i,
}
# 取巧的点就是直接在第一个案例的代码的条件下把下下面的url中的1改成3
#response = requests.get('https://www.mashangpa.com/api/problem-detail/1/data/', #params=params, cookies=cookies, headers=headers)
response = requests.get('https://www.mashangpa.com/api/problem-detail/3/data/', params=params, cookies=cookies, headers=headers)
sum_data+=sum(response.json()['current_array'])
print(sum_data)
这就是我面对前三题的一些小小的分析手段和技巧