当前位置: 首页 > news >正文

爬虫逆向实战(五)--猿人学第三题

一、数据接口分析

主页地址:猿人学第三题

1、抓包

通过抓包可以发现数据接口是api/match/3
在这里插入图片描述

2、判断是否有加密参数

  1. 请求参数是否加密?
  2. 请求头是否加密?
  3. 响应是否加密?
  4. cookie是否加密?

二、发送请求

因为没有任何的加密参数,所以先尝试直接请求。直接发送请求时,却发现返回的响应内容并不是想要的数据内容,而是乱码
在这里插入图片描述
此时,就需要再次回到浏览器中,观察抓包与我们的请求有何不同。可以发现,浏览器在每次发包获取数据时,都是发了两个包,先使用post请求jssm这个接口,再请求数据接口
在这里插入图片描述
所以我们在发送请求时也要先请求jssm接口,再请求数据
源代码:

"""
Email:912917367@qq.com
Date: 2023/8/1 17:31
"""
import requestsheaders = {'content-length': '0','pragma': 'no-cache','cache-control': 'no-cache','sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"','sec-ch-ua-mobile':	'?0','user-agent': 'yuanrenxue.project','sec-ch-ua-platform': '"Windows"','accept': '*/*','origin': 'https://match.yuanrenxue.cn','sec-fetch-site': 'same-origin','sec-fetch-mode': 'cors','sec-fetch-dest': 'empty','referer': 'https://match.yuanrenxue.cn/match/3','accept-encoding': 'gzip, deflate, br','accept-language': 'zh-CN,zh;q=0.9',
}
cookies = {"Hm_lvt_c99546cf032aaa5a679230de9a95c7db": "1690853737,1690856872","Hm_lvt_9bcbda9cbf86757998a2339a0437208e": "1690856502,1690856877","no-alert3": "true","Hm_lvt_434c501fe98c1a8ec74b813751d4e3e3": "1690856417,1690880272","Hm_lpvt_434c501fe98c1a8ec74b813751d4e3e3": "1690880272","tk": "-3089194693148654306","sessionid": "25yk747fkvd7oiq7oxa6wcagntbj5iso","yuanrenxue_cookie": "1690938760^|KR179JVCQjsT1ll2uyFkuKseGkWgobwDRWVWImdGVZkIC8wndqjpczGZQjnrt4amO4IKe2TKyZ4hljQ2gyj6b0uYEEWL","Hm_lpvt_9bcbda9cbf86757998a2339a0437208e": "1690938771","Hm_lpvt_c99546cf032aaa5a679230de9a95c7db": "1690938773"
}
session = requests.session()
session.headers = headersurl = "https://match.yuanrenxue.cn/jssm"data_dict = {}for page in range(1, 6):response = session.post(url, cookies=cookies)print(response)url_p = 'https://match.yuanrenxue.cn/api/match/3?page={}'.format(page)response = session.get(url=url_p, cookies=cookies)data = response.json()['data']for item in data:if item['value'] in data_dict:data_dict[item['value']] += 1else:data_dict[item['value']] = 1print(data_dict)
http://www.lryc.cn/news/128326.html

相关文章:

  • [虚幻引擎] UE使用虚拟纹理在模型上显示挖空效果
  • vue3中reactive和ref的比较
  • Beats:使用 Filebeat 将 golang 应用程序记录到 Elasticsearch - 8.x
  • 【STM32+ESP8266上云连载①】给ESP8266烧录AT固件
  • 深入解析Spring基本概念和核心思想
  • Redis数据结构——快速列表quicklist、快表
  • excel统计函数篇3之rank系列
  • Flink 火焰图
  • kubectl get 中英文对照
  • R语言APSIM模型进阶应用与参数优化、批量模拟实践技术
  • 无涯教程-Perl - times函数
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面
  • Mysql存储引擎中InnoDB与Myisam的主要区别
  • 数据仓库 ODS->DWD->DWS->ADS
  • 【SpringBoot】SpringBoot获取不到用户真实IP怎么办
  • LightDB 23.3 plorasql 函数支持inout参数输出
  • SpringBoot第41讲:SpringBoot集成Redis - 基于RedisTemplate+Jedis的数据操作
  • 用 React+ts 实现无缝滚动的走马灯
  • 三维模型OSGB格式轻量化重难点分析
  • C#__事件event的简单使用:工具人下楼问题
  • 初识Spring-ioc
  • windows10 安装WSL2, Ubuntu,docker
  • Java面试题目汇总
  • 【ARM 嵌入式 编译系列 6 -- GCC objcopy, objdump, readelf, nm 介绍】
  • c语言每日一练(9)
  • 毫米波射频方案分析
  • 神经网络基础-神经网络补充概念-04-梯度下降法
  • 神经网络基础-神经网络补充概念-45-指数加权平均
  • 模型预测笔记(一):数据清洗及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
  • 【Pytroch】基于K邻近算法的数据分类预测(Excel可直接替换数据)