文章目录

  • 1. 目标网站
  • 2. 抓包分析
  • 3. 编码测试

1. 目标网站

网址:

https://match.yuanrenxue.com/match/17

2. 抓包分析

这道题目,叫天杀的http2.0,估计应该是用的http2.0协议。

我们验证一下,打开谷歌浏览器的console输入:window.chrome.loadTimes()

可以看到输出的connectionInfo 和 npnNegotiatedProtocol 是h2就说明使用的是http2。

再把我以前的博客粘一下。

现在的大部分网站都是基于HTTP/1.x协议的,但是还有一小部分是HTTP/2.0的,遇到这样的网站,爬虫的很多常用库都没法用了,目前python 的requests库并不支持http/2.0网站,scrapy2.5.0 即2021.4更新开始支持HTTP2.0,但是官网明确提示,现在是实验性的功能,不推荐用到生产环境,当前 Scrapy 的 HTTP/2.0 实现的已知限制包括:

  • 不支持 HTTP/2.0 明文(h2c),因为没有主流浏览器支持未加密的 HTTP/2.0。
  • 没有用于指定最大帧大小大于默认值 16384 的设置,发送更大帧的服务器的连接将失败。
  • 不支持服务器推送。
  • 不支持bytes_received和 headers_received信号。

关于其他的一些库,也不必多说了,对 HTTP/2.0 的支持也不好,目前对 HTTP/2.0 支持得还可以的有 hyper 和 httpx。
hyper使用参考
HTTPX使用参考

我们这里用hyper库,安装hyper库也很简单,直接pip install hyper就行了。

我们抓包获取数据包的url:

https://match.yuanrenxue.com/api/match/17?page=1

其他没啥需要注意的反爬,我们接下来直接上代码。

3. 编码测试

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : 冰履踏青云
# @File    : 17.pyimport jsonpath
import requests
from hyper.contrib import HTTP20Adapterdef get_data(page):url = 'https://match.yuanrenxue.com/api/match/17?page={}'headers= {"User-Agent": "yuanrenxue.project",# 设置我们登陆账号时候的cookie,sessionid必须传 ,否则未登录状态下只可以抓前三页"cookie": "sessionid=13guppo9dxzbdixi3v8wkqzme9473pij"}# 创建session对象,并设置请求头s = requests.session()s.headers = headers# 使用http2.0s.mount('https://match.yuanrenxue.com', HTTP20Adapter())data = s.get(url.format(str(page))).json()values_list = jsonpath.jsonpath(data,"$..value")return values_listif __name__ == '__main__':res_list = []for i in range(1,6):values_list = get_data(i)res_list.extend(values_list)print(res_list,len(res_list))print('所有数字之和为:',sum(res_list))

为便于学习交流草创了一个q群: Python炼丹大师交流群
后端 爬虫 数据分析 机器学习等和python相关的都可以在此畅所欲言
编程资源:编程学习资源传送门

文章到此结束,但愿本文能对你有一点点帮助,欢迎三连,点个赞,收个藏啥的,有问题的尽管砸来,我有故事你有酒,好好交流不分手!下次见!

js逆向系列之猿人学爬虫第17题-天杀的http2.0相关推荐

  1. js逆向系列之猿人学爬虫第13题

    文章目录 1. 目标网址 2. 抓包分析 3. 编码测试 1. 目标网址 目标网站:猿人学web第13题 2. 抓包分析 浏览器打开无痕模式,看第一页数据包: 两个名叫13的包,第二个有数据,是请求了 ...

  2. JS逆向:猿人学爬虫比赛第九题详细题解

    实战地址 http://match.yuanrenxue.com/match/9 抓包分析 地址栏输入 地址,按下F12并回车,浏览器停在这里: 不用理会它,点击下图所示的按钮: 按下F8,让浏览器继 ...

  3. AST反混淆实战:猿人学爬虫比赛第二题详细题解

    缘起 应星友要求,写下此文,哎,有钱能使鬼推磨. 实战地址: http://match.yuanrenxue.com/match/2 抓包分析 由于谷歌浏览器某些请求不会显示,建议使用火狐浏览器来抓包 ...

  4. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(中)

    一.备注 在阅读此文章前,请先阅读前一篇<[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(上)> 二.找参数来源(二) 在前一篇文章中,我们找出了Cookie ...

  5. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(下)

    一.备注 在阅读此文章前,请先阅读前两篇 <[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(上)> <[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第 ...

  6. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第二题: js 混淆 - 动态Cookie

    一.题目 链接: <猿人学爬虫攻防大赛 | 第二题: js 混淆 - 动态Cookie> 二.分析 按照以往习惯,我们先按F12打开控制台,Network抓包,勾选preserve log ...

  7. 猿人学·爬虫逆向高阶课

    我跟 virjar 出了一套爬虫课(猿人学·爬虫进阶培训课),包含:安卓逆向抓取.JS 高阶逆向抓取.安卓群控抓取.容器定制化等. 实际上我去年就在做这个爬虫课了,一直没有放到网课平台上公开宣传,但是 ...

  8. 【JS逆向系列】某空气质量监测平台无限 debugger 与 python算法还原

    [JS逆向系列]某空气质量监测平台无限 debugger 与 python算法还原 1.前置阅读 2.过反调试 3.js分析 4.代码逻辑改写 1.前置阅读 样品地址:aHR0cHM6Ly93d3cu ...

  9. 【JS逆向系列】某乎x96参数3.0版本与jsvmp进阶

    [JS逆向系列]某乎x96参数3.0版本与jsvmp进阶 前言 初看js代码 补环境方案 修改字节码方案(反混淆与反汇编) 算法还原 后记 前言 距离上一次的某乎jsvmp也过了好一段时间,现在也从2 ...

最新文章

  1. textrank4zh是_GitHub - 997666901/TextRank4ZH: 从中文文本中自动提取关键词和摘要
  2. python计算1到100的和-Python3基础 sum,range 计算1到100的和
  3. Windows2008下搭建NFS实现windows空间提供linux使用
  4. 写程序的一些感想和教训
  5. Mapreduce的序列化和流量统计程序开发
  6. C#LeetCode刷题之#371-两整数之和(Sum of Two Integers)
  7. 放生大海的鱼,为什么要在鱼肚子上捅一个洞?
  8. SQL:字符串拼接中换行处理
  9. Mycat适合场景及不适合场景
  10. Kubernetes1.7 新特性:日志审计变化
  11. navicat远程连接mysql,2003 can't connect to mysql server on 10038
  12. JavaScript实现图片上传并预览并提交
  13. 这 9 个 Java 开源项目 yyds
  14. 设置背景颜色html,css怎么设置背景颜色?
  15. RuntimeError: Cannot re-initialize CUDA in forked subprocess.
  16. kali无法获取ip地址的解决方法
  17. Android 9.0 cmds
  18. PID调谐方法:根据开环响应特性调谐(一)
  19. 【Android学习】图片
  20. CTF中RSA常见解题思路

热门文章

  1. 多比(SVG/VML)图形控件
  2. 数据库设计范式及原则
  3. 了解js中什么是回调函数?
  4. 380v pcb 接线端子_PCB常用的接线端子
  5. matlab flash动画,“雨课堂”+ matlab + flash 动画让定积分概念教学妙趣横生论文
  6. 电力电子技术期末整理
  7. 知乎明日港股IPO:成首家以双重主要上市方式回港中概互联网公司
  8. C++ 将二叉树叶子结点从左往右顺序串连
  9. 日期匹配星座,月日匹配星座,android 星座
  10. 云计算应用越来越广泛,云计算用户需要注意的主要趋势有哪些?