猿人学 — 第1届第13题(解题思路附源码)

news2024/12/23 0:06:24

猿人学 — 第1届第13题(解题思路附源码)

  • 发现在翻页过程中,只要中途有几秒的间隔,那么就会显示拉取数据失败,然后网页重新加载回到刚进来显示的第一页的情况
    在这里插入图片描述

  • 重新加载时,会发送一系列的请求,发现其中向地址https://match.yuanrenxue.cn/match/13发送一前一后两个请求,
    在前一个请求中,发现响应头中有Set-Cookie,因此猜测若想访问各个页面则需要先访问这个请求获取sessionid
    在这里插入图片描述

  • 另外还发现,后一个请求中携带的Cookie中的yuanrenxue_cookie与前一个请求中携带的不一样,并且在目标页面访问过程中
    携带的yuanrenxue_cookie和后一个请求中携带的是一样的

    在这里插入图片描述
    在这里插入图片描述

  • 那么后面请求中的yuanrenxue_cookie是从哪里来的呢?这个Cookie值的改变发生在第一次向https//match.yuanrenxue.cn/match/13请求后,
    但是在chrome中又没有看到这个请求的返回值,猜想是不是返回值在chrome中不支持显示,因此用Fildder抓包再看一看各个请求的具体情况,验证一下猜想
    在这里插入图片描述

  • 果然发现这个请求其实是有返回值的,我们把关键信息放入Console面板一输出再比对请求,发现这就是我们想要的yuanrenxue_cookie

    在这里插入图片描述

  • 源码如下

    import re
    import requests
    
    # 创建会话并设置请求头和cookie
    obj = requests.session()
    obj.headers={
        'Referer':'https://match.yuanrenxue.cn/list',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 	Gecko) Chrome/129.0.0.0 Safari/537.36',
    }
    # 设置成自己的sessionid
    obj.cookies.set('sessionid','k0tkqbv28g7ubtjyr1e5a3mjcyzz98uf')
    
    # 获取更新后的yuanrenxue_cookie值
    res = obj.get(url='https://match.yuanrenxue.cn/match/13')
    cookie_list = eval(re.findall('\(.*\)',res.text)[0]).split('=')
    obj.cookies.update(
        {cookie_list[0]:cookie_list[1]}
    )
    # 访问具体页面时一定要注意先更新请求头信息中的Referer
    obj.headers.update({'Referer':'https://match.yuanrenxue.cn/match/13'})
    
    # 向各个页面发送请求并获取数据
    total_value = 0
    for pid in range(1,6):
        res = obj.get(url=f'https://match.yuanrenxue.cn/api/match/13?page={pid}')
        data = res.json()['data']
        print(f"第{pid}页数据:{data}")
        for item in data:
            total_value += int(item['value'])
    
    print(f"前5页数字总和:{total_value}")
    
    
  • 运行结果

    在这里插入图片描述
    在这里插入图片描述

  • 笔者为刚接触逆向的小白,若上面有错误、不合理和值得优化的地方,欢迎各位大佬批评指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

threejs-基础材质设置

一、介绍 主要内容:基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性: side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…

JAVA海外短剧国际版系统小程序源码

海外短剧国际版系统——连接世界的剧情舞台 🌍 引言:跨越国界的情感共鸣 在这个全球化的时代,文化的边界越来越模糊,而艺术成为了连接不同国家和地区人民心灵的桥梁。今天,我要向大家介绍一个令人兴奋的平台——“海…

【必看!!!】Python—requests模块详解!(文末附带无偿大礼包)

1、模块说明 requests是使用Apache2 licensed 许可证的HTTP库。 用python编写。 比urllib2模块更简洁。 Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POS…

Word页眉内容自动填充为章节标题

Word页眉内容自动填充为章节标题 在写毕业论文的过程中,通常要求将页眉设置为章节标题,例如这样 通常,页眉内容我们都是手敲上去的,其实在Word中可以设置为自动引用章节标题,以下为设置方法,仅供参考&…

2024互联网下载神器IDM6.42你值得拥有

🔥 互联网下载神器大揭秘!IDM6.42你值得拥有 🚀 Hey,各位小伙伴们,今天我要给你们安利一款我超爱的软件——Internet Download Manager 6.42(简称IDM),这款下载器简直就是下载界的“…

HarmonyOS NEXT应用元服务开发按钮标注场景

对于用户可点击等操作的任何按钮,如果不是文本类控件,则须通过给出标注信息,包括用户自定义的控件中的虚拟按钮区域,否则可能会导致屏幕朗读用户无法完成对应的功能。 此类控件在进行标注时,标注文本不要包含控件类型、…

视频格式不支持播放怎么办?几招教你转换成mp4格式

视频已成为我们生活中不可或缺的一部分,无论是学习、娱乐还是工作交流,视频都扮演着重要角色。然而,在享受视频带来的便利时,我们时常会遇到一个令人头疼的问题——视频格式不支持播放。不同设备、平台和软件对视频格式的支持各不…

推荐一个物联网平台,支持源代码交付

ThingsKit物联网平台概述: ThingsKit是一个开箱即用的物联网平台,它支持通过行业标准的物联网协议(如MQTT、TCP、UDP、CoAP和HTTP)实现设备连接。这个平台能够帮助用户快速实现物联网的数据收集、分析处理、可视化和设备管理&…

『网络游戏』服务器向客户端分发消息【21】

新建缓存层文件夹 创建脚本:CacheSvc 编写服务器脚本:CacheSvc 修改服务器脚本:LoginSys.cs 修改服务器脚本:PEProtocol.cs 服务器编写完成 - 测试运行服务端 修改客户端脚本:NetSvc.cs 修改客户端脚本:Cli…

跟《经济学人》学英文:2024年10月05日这期 Workouts for the face are a growing business

Workouts for the face are a growing business They may not help much in the quest for eternal youth 原文: The FaceGym studio in central London looks more like a hair salon than a fitness studio. Customers recline on chairs while staff pummel t…

路径跟踪之导航向量场——二维导航向量场

今天带来一期轨迹跟踪算法的讲解,首先讲解二维平面中的导航向量场[1]。该方法具有轻量化、计算简便、收敛性强等多项优点。该方法根据期望的轨迹函数,计算全局位置的期望飞行向量,将期望飞行向量转为偏光角,输入底层控制器&#x…

gpg 密钥生成、导入、导出、自动输入密码

目录 一、系统环境 二、常用命令(以签名密钥为例) (1)生成密钥 (2)列出私钥 (3)列出公钥 (4)导出公钥 (5)导出私钥 &#xff…

5个免费ppt模板网站推荐!轻松搞定职场ppt制作!

每次过完小长假,可以明显地感觉到,2024这一年很快又要结束了,不知此刻的你有何感想呢?是满载而归,还是准备着手制作年终总结ppt或年度汇报ppt呢? 每当说到制作ppt,很多人的第一反应&#xff0c…

k8s 1.28.2 集群部署 MinIO 分布式存储

文章目录 [toc]MinIO 介绍MinIO 生产硬件要求MinIO 存储要求MinIO 内存要求MinIO 网络要求MinIO 部署架构分布式 MinIO复制的 MinIO 部署 MinIO创建目录节点打标签创建 namespace创建 pv创建 MinIO配置 ingress问题记录通过代理服务器访问 MinIO 的 Object Browser 界面一直显示…

51单片机的智能衣柜【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块光照传感器时钟模块温湿度传感器继电器按键、LED等模块构成。适用于智能衣柜、智能衣橱、紫外线定时消毒等相似项目。 可实现功能: 1、LCD1602实时显示北京时间、温湿度和开关门状态 2、时钟模块DS1302采集时间 …

实战逆向RUST语言程序

实战为主,近日2024年羊城杯出了一道Rust编写的题目,这里将会以此题目为例,演示Rust逆向该如何去做。 题目名称:sedRust_happyVm 题目内容:unhappy rust, happy vm 关于Rust逆向,其实就是看汇编&#xff…

制造业人工智能的场景应用落地现状、难点和建议

制造业应用人工智能可以提高制造业的生产效率,推动制造业高质量发展和竞争力提升,促进国民经济的持续稳定增长。近年来,制造业人工智能的场景化应用落地不断推进,但在落地过程中遇到一些难点。本文对于制造企业应用人工智能的场景…

AVL树如何维持平衡

1.AVL树的特性 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查 找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii 和E.M.Landis在1962年 发明了一种…

【工具使用】使用Docsify搭建个人文档网站

检查Node.js安装状态 首先,打开命令提示符(CMD),输入以下命令以验证Node.js是否已经安装在您的电脑上: node -v安装Docsify CLI工具 接下来,通过以下命令全局安装Docsify的命令行工具: npm …

保护企业知识产权!推荐十款源代码加密软件

在现代软件开发中,源代码是企业最重要的资产之一。然而,源代码的泄露可能导致巨大的经济损失和知识产权问题。为帮助企业保护其源代码安全,以下推荐十种源代码加密软件,确保你的知识产权不受侵犯。 1. Ping32 Ping32不仅是一款终…