首页 > 其他分享 >记一次爬虫

记一次爬虫

时间:2023-05-27 22:57:38浏览次数:41  
标签:一次 请求 base64 爬虫 然后 api key

先感谢403F的帮助

要爬的是https://soutubot.moe/

然后就遇到了问题

贯穿始终的是401未授权访问,但是请求包里不包含token一类的,cookie也放了,将整个导入到postman里面
image
发现能够请求成功,然后只有请求头可能出问题,那就是请求头的问题

请求头一个一个去掉发现比较重要的一项是x-api-key,网站用了一个生成的x-api-key,保证安全性,x-api-key看起来是随机生成的base64,然后过期时间特别短,看看

然后
image
在URL contains 里面过滤包含search请求的

断点卡到search这一步
image

跳步运行几步

这个函数运行结束
image

在这个函数最上方设置断点

image

发现已经被赋值

image

找到调用源,紧上面有调用

image

然而不是,干脆随便找个看着顺眼的找到哪里调用e得了,然后看里面变量

找看起来可能有意义的函数

image

单步运行到有个看起来很不错的字符串

image

V0MxaFVHa3RTMFY1
很酷

image

image

然后就是X-api-KEy了
看看怎么实现

    const RC = ()=>{
        Q.tz.setDefault("Asia/Shanghai");
        const e = (Math.pow(Q().unix(), 2) + Math.pow(window.navigator.userAgent.length, 2)).toString();
        return En.encode(e).split("").reverse().join("").replace(/=/g, "")
    }

当前时间平方,+userAgent长度平方求base64,base64取反去掉等号

这一步计算出来的x-api-key

因此爬虫只需要现算然后求值就可以了,

封装了一个api在github上

标签:一次,请求,base64,爬虫,然后,api,key
From: https://www.cnblogs.com/znsbc-13/p/17437493.html

相关文章

  • 2023-05-27:给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两
    2023-05-27:给你一个只包含小写英文字母的字符串s。每一次操作,你可以选择s中两个相邻的字符,并将它们交换。请你返回将s变成回文串的最少操作次数。注意,输入数据会确保s一定能变成一个回文串。输入:s="letelt"。输出:2。答案2023-05-27:大体过程如下:1.定义结......
  • 2023-05-27:给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两
    2023-05-27:给你一个只包含小写英文字母的字符串s。每一次操作,你可以选择s中两个相邻的字符,并将它们交换。请你返回将s变成回文串的最少操作次数。注意,输入数据会确保s一定能变成一个回文串。输入:s="letelt"。输出:2。答案2023-05-27:大体过程如下:1.定义结构体Index......
  • Python 爬虫神器 requests 工具
    一、模块安装pipinstallrequests二、常用方法在实际的爬虫中,其实真正用到的只有GET、POST,像其他的方法基本用不到,比如:DELETE、HEAD、PUT等。1、GET方法headers={'user-agent':'my-app/0.0.1'}payload={'key1':'value1','key2':'value2'}re......
  • 记一次redis数据库RDB内存事故排查处理
    事故表现:redis状态正常,但客户端不能使用,定位日志结论,redis内存申请不通过,导致中断用户操作解决办法1.解锁相关配置(不能解决根本问题,根本原因来源于开发使用姿势不对)两种解决办法一.打开系统层始终同意分配内存(不建议)编辑文件/etc/sysctl.conf添加vm.overcommit_memory=1内核参......
  • c++打卡练习(40)(大一最后一次)
    求可逆素数若一个四位数的素数把它倒序过来还是素数,那么称它为可逆素数,如1009和9001就是一对可逆素数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ intstart,end,i,j,m=0; for(i=1000;i<=9999;i++){ intk=0; for(j=2;j<i;j++){ if(i%j==0){ ......
  • 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
    配置:1、新建一个线程组:然后设置线程数、运行时间、重复次数。2、新建Http请求:设置服务器域名,路径,方法,编码格式,数据内容。可以在函数助手中,编辑所需要的变量,比如本例中的随机生成电话号码。3、添加HTTP信息头管理器然后信息头添加一条名称为Content-Type,值为application/json即可......
  • 如何优化Python爬虫的速度?
    Python爬虫慢的原因有很多,网络延迟高、爬取数据量过大、爬虫程序设计问题、不合理的请求头设置、Python解释器性能问题等都是制约爬虫速度的重要因素。总之,在遇到Python爬虫慢的问题时,需要详细了解可能出现的原因,并根据具体情况进行相应的调整和改进,保证程序的稳定性和效率。......
  • 如何优化Python爬虫的速度?
    Python爬虫慢的原因有很多,网络延迟高、爬取数据量过大、爬虫程序设计问题、不合理的请求头设置、Python解释器性能问题等都是制约爬虫速度的重要因素。总之,在遇到Python爬虫慢的问题时,需要详细了解可能出现的原因,并根据具体情况进行相应的调整和改进,保证程序的稳定性和效率。以......
  • CentOS系统如何做爬虫
    CentOS系统可以用来做爬虫,它是一种基于Linux的操作系统,具有稳定性高、安全性好、资源占用低等优点,适合用来搭建服务器和运行爬虫程序。在CentOS系统上搭建爬虫环境,需要安装Python解释器和相关的第三方库,如requests、beautifulsoup4、scrapy等。可以使用yum命令或者pip命令来安装......
  • 记录一次服务器磁盘爆满问题
    服务器磁盘满了!!!事发突然,我在给博客的图片新增的时候,发现上传文件和下载文件一直报错。因为我用的是1Panel面板去管理服务器,话不多说看图:一开始我还不知道发生了什么,一直以为是这个面板出了问题,然后我就一直刷新,强制刷新。发现并无卵用。然后我就去控制台敲命令,想下个宝塔试试,......