- 博客(165)
- 收藏
- 关注
原创 javascript函数中的异步操作
的函数(可能是一个自定义函数,用于发起网络请求),并传递了一个包含请求 URL、请求方法和请求数据的对象。会暂停当前异步函数的执行,直到等待的异步操作完成(即 Promise 对象被解决或拒绝)。是一个关键字,它用于等待一个异步操作(如网络请求)完成。函数完成其异步操作(例如,直到 HTTP 请求得到响应)。:如果等待的异步操作成功完成(Promise被解决),:如果异步操作失败(即Promise被拒绝),关键字时,这个函数就变成了一个异步函数(函数中,因此它可以正常工作。),在这个函数内部可以使用。
2025-07-29 11:31:50
239
1
原创 记录一下今天对学校教务系统登录请求分析的几个问题
你今天请求太频繁,系统把你降级为“本地临时会话”,所以只给了JSESSIONID没有就无法通过后台认证,自然拿不到数据。清空缓存、重新登录即可恢复。是的,核心原因正是「浏览器自动携带了你在 Python 里没拿到的 Cookie」,导致 Python 请求失败,而浏览器能正常访问。
2025-07-24 15:54:22
641
原创 基于三次贝塞尔曲线生成鼠标滑动轨迹
三次贝塞尔曲线由以下公式定义:( P_0 ):起点( P_3 ):终点( P_1, P_2 ):两个控制点,决定曲线的弯曲程度和形状( t \in [0, 1] ):参数,表示从起点到终点的进度这段代码用三次贝塞尔曲线生成一条非线性、类人化的滑动轨迹,从而让滑块拖动行为更自然,绕过反爬虫检测。
2025-07-21 16:56:20
378
原创 javascript自执行函数
自执行函数(Immediately Invoked Function Expression, IIFE)是JavaScript中一种常见的设计模式,它定义后会立即执行,不需要显式调用。这种模式在现代JavaScript开发中有着广泛的应用,特别是在模块化编程和防止全局污染方面。
2025-07-14 19:15:54
274
原创 初识cdp协议(一)
CDP协议(Chrome DevTools Protocol)是一个用于调试和控制Chromium浏览器(如Chrome、Edge和Opera)的协议。通过CDP,开发者可以直接与浏览器交互,进行网络流量的检查、调试和监听。DP的功能非常强大,Chrome开发者工具的许多功能都是基于CDP接口实现的。开发者可以使用CDP来控制浏览器的各个方面,包括监视网络请求、操作DOM等。此比外,Node.js库Puppeteer完整实现了CDP协议,为Chrome内核的通信提供了便利。
2025-07-07 21:46:01
935
原创 使用drissionpage提取不到元素内容的情况
元素对象 vs 文本节点DrissionPage的API设计基于元素操作,而非XPath原生节点[citation:6]。.text属性的作用自动处理元素内所有文本节点的合并输出,而/text()只能获取直接文本节点(可能被DrissionPage忽略)[citation:7]。兼容性建议优先使用元素定位+.text,或通过获取原始文本[citation:8]。
2025-07-04 08:25:14
325
原创 Drissionpage的基础使用
然后这里使用xpath进行提取,使用eles方法获取列表。Drissionpage是一款自动化处理浏览器的工具。这样的话就可以指定浏览器打开百度访问。实现翻5次页获取信息。
2025-07-03 12:29:51
156
原创 spring MVC 至 springboot的发展流程,配置文件变化
Spring MVC 是 Spring 框架中的一个重要模块,用于构建基于 Java 的 Web 应用程序。它基于 MVC(Model-View-Controller)设计模式,提供了灵活、可配置的方式来开发动态网页或 RESTful 服务。
2025-05-16 08:51:17
1130
1
原创 使用nvm在windows下管理多个node版本(附安装教程)
为什么需要多个版本?安装多个版本有什么好处?常规方式安装node.js一台电脑只能安装一个,例如之前项目安装的node.js版本是v12,而我们现在的新项目需要依赖node.js---->v13,此时安装v13后,之前的v12将被覆盖,而且之前的项目不支持v12的运行,我们如果想运行之前的项目就需要卸载高版本的v13,重新下载v12版本十分麻烦!所以就有了nvm :node管理工具。
2025-05-16 08:49:05
1303
原创 河南省第十五届ICPC大学生程序设计竞赛
可以看一下规律,每5个数据,会多一个2,然后剩下的就是等差数列的前n项和。但是如果不加上这个去重,那么就会超时,说明重复数据还是很多的……暴力列出所有条件,直接二分即可,时间复杂度控制在1e8以内。这里sort或者不sort都能过,而且时间上是差不多的。那么这不就相当于取巧了,看看有没有别的优化方法。
2025-05-02 10:35:36
603
原创 爬虫备忘录(已更新)
xpath是一种用于在xml文档中定位节点的语言,它可以用于从xml文档中提取数据,以及在xml文档中进行搜索和过滤操作,xpath使用路径表达式来描述节点的位置,这里第一个参数写目标文件下载链接,第二个就是你的path路径,比如要下载一个图片,那么就是图片路径+保存的文件夹路径+文件名,文件读写,如果想表达——若文件存在,就直接使用,若不存在就创建,可以这样写,避免会报一些很sb的文件不存在的错误。如果要使用正则来匹配数据的话,需要对响应回来的response进行匹配,要事先写好自己的pattern。
2025-04-21 20:40:08
898
原创 天梯赛L1-22-25
(1 ≤ D ≤ 7),表示星期几(1=星期一,2=星期二,…,7=星期日),计算并输出“后天”对应的星期数。在一行中输出奇数的个数和偶数的个数,中间用。个正整数,统计其中奇数和偶数各有多少个。• 星期是循环的,7 天后又回到星期一。• “后天” = 今天 + 2 天。是为了让星期一从 0 开始计算,• 一行字符串,仅包含英文字母。的后天对应的星期数(1~7)。:先加 1 天(“明天”)。:调整到 1~7 的范围。恢复 1~7 的编号)• 因此,可以直接用。• 一行字符串,包含。,否则输出计算结果。
2025-04-15 23:20:24
927
原创 linux最好不要以root用户执行pip
和部分系统服务依赖特定版本的 Python 包。• 依赖解析混乱(出现 “Cannot uninstall X” 错误):除非你明确知道自己在做什么,否则永远不要用。• 关键服务崩溃(例如日志服务、监控工具):不干扰系统环境,无需 root 权限。:版本经过系统验证,与系统其他组件兼容。如果安装的包包含恶意代码(如通过。),会直接以 root 权限执行。安装的包可能与系统包管理器(如。,所有用户均可调用。• 系统更新时出现不可预测的错误。:完全隔离,可自由控制依赖版本。root 安装的包会默认写入。
2025-04-09 21:34:10
416
原创 天梯赛练习题L1-19,20,9
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。
2025-04-07 21:50:28
710
原创 某某通的接口分析记录(js逆向)
请求接口的载荷本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
2025-03-30 10:50:44
992
原创 音乐webpack(通杀webpack-1)
在i处下一个断点,刷新进去,看一下该逻辑的参数,发现最后o(t.data)函数返回值被i接收。然后把vendor.chunk.ab的代码也复制下来,加载器大概两百多行,这个两万多行,调用的是n(350),然后返回的值为i,下面直接传给sign,所以说要找的就是i。但是不知道为什么一直请求不到了,是因为search_id的问题吗?看一下载荷,第一个是时间戳,第二个是sign,是我们接下来的目标。单步进入加载器,直接把整个加载器抠出来。刷新一下,这是我们要逆向的接口。是能正常构造出来的,然后写一下py的请求。
2025-03-25 15:31:38
461
2
原创 scrapy_yield详解
在for循环执行时,每次循环都会执行fab函数内部的代码,执行到yield b时,fab函数就返回一个迭代值,下次迭代时,代码从 yield b 的下一条语句继续执行,而函数的本地变量看起来和上次中断执行前是完全一样的,于是函数继续执行,直到再次遇到 yield。yield 的作用就是把一个函数变成一个生成器(generator),带有yield的函数不再是一个普通函数,Python解释器会将其视为一个generator,单独调用(如fab(5))不会执行fab函数,而是返回一个 iterable 对象!
2025-03-23 11:36:46
908
1
原创 py中的迭代器与生成器有什么区别
•迭代器:更底层,适合需要完全控制迭代逻辑的场景。•生成器:更简洁高效,适合处理大数据流或异步任务。•核心公式生成器 = 迭代器 + 惰性计算 +yield语法掌握二者区别后,可以更灵活地选择工具优化代码性能和内存管理。
2025-03-23 11:35:35
458
原创 http请求常见返回状态码
所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。只能切换到更高级的协议,例如,切换到HTTP的新版本协议。当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改为GET,并删除请求报文内的主体,之后请求会自动再次发送。该状态码表示客户端发送附带条件的请求时,服务器端资源已找到,但未符合条件请求。
2025-03-20 12:24:23
1509
原创 scrapy入门(深入)
首先在items中定义一个需要爬取的数据结构# 创建一个类来定义爬取的数据结构那为什么要这样定义:在Scrapy框架中,是用于定义Item字段的特殊类,它的作用相当于一个标记。数据结构声明每个Field实例代表Item中的一个数据字段(如你代码中的name/title/url),用于声明爬虫要收集哪些数据字段。元数据容器虽然看起来像普通赋值,但实际可以通过Field()传递元数据参数:在这里定义变量之后,后续就可以这样进行使用item['name'] = '股票名称'
2025-03-20 12:06:51
1792
1
原创 控制流平坦化(js逆向知识)
平坦流就是把原来的js代码逻辑放到一个又一个case中,使用switch包括,然后再每一个case中处理逻辑,还可以在case中跳到下一个case语句中,从而实现代码的混淆。这里的u.sent是什么呢?这里的u.sent是上一个执行逻辑,也就是说这里的。
2025-03-19 18:10:52
901
原创 webpack初识(js逆向)
这里每个括号包括着的字符串都相当于一个函数,但是他们的逻辑在其他地方大概长这样作用就是把打包过的函数放到一个全局缓存里边。
2025-03-19 18:08:56
1130
原创 过无限dubbger(js逆向)
今晚被某网站的无限debugger整的很烦,我之前笔记中记得使用油猴插件进行的debugger也失效了,于是我就想一探究竟,网站的debugger到底是什么原理?那么什么是debugger,过debugger的方法都有哪些?
2025-03-18 15:30:45
1349
原创 js中的各种参数hook(js逆向)
首先下载油猴插件,进行一些初始配置其中我们可以在里面加上一个参数@run-at编辑好hook代码之后,直接命名好,保存并开启就好啦!就像这样。
2025-03-17 19:58:03
1308
原创 hexo博客上传阿里云服务器(绝对详细!)
大家部署中的一些问题都可以在这里找到,包括域名购买,解析,备案,服务器购买,配置,搭建,hexo博客上传,一应俱全
2025-03-17 01:58:19
866
原创 王者荣耀道具页面爬虫(json格式数据)
首先这个和英雄页面是不一样的,英雄页面的图片链接是直接放在源代码里面的,直接就可以请求到,但是这个源代码里面是没有的。虽然在检查页面能够搜索到,但是应该是动态加载的,源码中搜不到该链接。然后就去看看是不是某个接口中返回的数据。估计一些数据在这里面,我们下载下来试试。没错,那接下来就是简单的拼接了。刷新了一下返回了一个json。
2025-03-15 15:51:59
1275
原创 米米账号接口逆向
链接:aHR0cHM6Ly9hY2NvdW50LnhpYW9taS5jb20vZmUvc2VydmljZS9sb2dpbi9wYXNzd29yZD9fbG9jYWxlPXpoX0NO首先请求两次登录接口,发现只有user和hash不一样的。
2025-03-15 15:19:46
1639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人