首页 > 其他分享 >【原创】某度网盘 无限速下载地址解析站的分析及实现

【原创】某度网盘 无限速下载地址解析站的分析及实现

时间:2022-11-12 22:35:51浏览次数:71  
标签:网盘 replace 地址 某度 params 解析 parameter 下载

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

记一次某度wangpan 无xiansu下载地址解析站的分析及实现

操作环境

  • win10 、 mac
  • Python3.9
  • requests、lxml
  • Charles

分析

解析站:

aHR0cHM6Ly93d3cua2Vsb25nd28uY29tL1Jlc291cmNlX2Z1bmN0aW9uL3Bhbi9iYWlkdS8=
在这里插入图片描述
经分析研究,发现想要拿到无限速下载地址共需两步:

1.写入wangpan地址,提取出解析所需的参数

在这里插入图片描述
就是一个get接口,传入网盘地址拿到相应参数
在这里插入图片描述

2.解析不限速下载地址

根据第一步中提取的参数,构造post请求,即可解析出下载地址
在这里插入图片描述

脚本实现

1.提取出解析所需的参数

def get_level_one(url, pwd=None):
    """
    一级解析
    url:网盘地址
    pwd:网盘密码
    """
    print(f'地址:{url} 一级参数提取中')
    # 解析接口
    params = {
        'url': url,
        'pwd': pwd
    }
    # 提取二次解析所需参数
    res = requests.get(jx_ul, params=params)
    root = etree.HTML(res.content)
    download_params = root.xpath('//*[@id="bd_list"]/div[2]/div/a/@href')
    parameter = []
    n = download_params[0].split(',')
    for i in n:
        if "javascript:downfile(" in i:
            i = i.replace('javascript:downfile(', '')
        if ')' in i:
            i = i.replace(")", '')
        parameter.append(i)
    print(parameter)
    print("成功提取一级解析参数")
    return parameter

2.提取下载链接

def get_level_two(parameter):
    # 二级解析
    print(f'下载地址解析中,需等待2-5秒')
    headers = {
        'Connection': 'keep-alive',
        'Content-Length': '264',
        'sec-ch-ua': '"Microsoft Edge";v="107", "Chromium";v="107","Not=A?Brand";v="24"',
        'Accept': '*/*',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'X-Requested-With': 'XMLHttpRequest',
        'sec-ch-ua-mobile': '?0',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.35',
        'sec-ch-ua-platform': '"Windows"',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Dest': 'empty',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,en-GB-oxendict;q=0.5',
        'Cookie': 'session_prefix=a5a4be6cf29eaac32b0c2aa55750daa7; Hm_lvt_f749697bf30790443314f1111033dc5c=1667395320,1667737450,1667818866,1667870341',
    }
    downfile = {
        'fs_id': parameter[0].replace("'", ''),
        'sign': parameter[1].replace("'", ''),
        'timestamp': parameter[2].replace("'", ''),
        'randsk': parameter[3].replace("'", ''),
        'share_id': parameter[4].replace("'", ''),
        'bdstoken': parameter[5].replace("'", ''),
        'filesize': parameter[6].replace("'", ''),
        'uk': parameter[7].replace("'", ''),
        'md5': parameter[8].replace("'", ''),
    }
    response = requests.post(ask_download, headers=headers, data=downfile)
    # 提取下载链接
    # 提取二次解析所需参数
    root = etree.HTML(response.text)
    params = root.xpath('//div[@class="q-topic-item"]/div/a[1]/@href')
    if params:
        href = params[0].replace("javascript:file_url_copy('", '').replace("')", '')
    else:
        href = '提取失败!'
    print(f'下载地址:{href}')

效果

请添加图片描述


资源下载

https://download.csdn.net/download/qq_38154948/86978290


本文仅供学习交流使用,如侵立删!

标签:网盘,replace,地址,某度,params,解析,parameter,下载
From: https://www.cnblogs.com/c1033383881/p/16884882.html

相关文章

  • SpringMVC-解析@ResponseBody
    ServletInvocableHandlerMethod.invokeAndHandle处理完request得到结果后调用returnValueHandlers.handleReturnValue处理返回值。HandlerMethodReturnValueHandlerCompos......
  • spring底层核心概念解析
    1.BeanDefinition包含bean的一些基本元信息,如bean的类型,作用域,初始化方法...等等。申明式的定义,如@Bean,等等<beanclass="com.test.service.UserService"id="userSe......
  • SpringMVC-解析@PathVariable
    DispatcherServlet.doService去处理请求时,调用getHandler去获取匹配请求的handle。会调用RequestMappingInfoHandlerMapping.handleMatch,这个方法会调用extractMatchDetai......
  • 这些不知道,别说你熟悉 Nacos,深度源码解析!
    SpringCloud应用启动拉去配置我们之前写过一篇文章,介绍了一些Spring提供的扩展机制。其中说到了ApplicationContextInitializer,该扩展是在上下文准备阶段(prepareContext......
  • Go 语言项目源码解析:定时任务库 cron
    环境准备首先我们将源码克隆(Fork)为自己的个人仓库,只需要在GitHub项目主页点击Fork按钮,然后输入项目名称点击确认即可。克隆完毕后,可以下载到本地,或者直接在科隆后的Git......
  • SpringMVC-解析对象
    如果参数是对象且没有注解,则参数由ServletModelAttributeMethodProcessor解析。解析如下参数:@PostMapping("/userParam0")@ResponseBodypublicUserhandleUserByParam0......
  • python 某猫投诉加密解析
    importhashlibimportjsonimportrandomimporttimeimportrequestssha256=hashlib.sha256()'''某猫投诉https://jiangsu.tousu.sina.com.cn/'''classBlackCatComplain......
  • SpringMVC-解析@RequestParam参数
    InvocableHandlerMethod.invokeForRequest执行请求时会调用InvocableHandlerMethod.getMethodArgumentValues解析方法参数。InvocableHandlerMethod.getMethodArgumentVal......
  • Linux开启DNS Server后解析外域受限问题
      CentOS7系统里起了一个DNSServer,一切顺利,针对本地域的各项解析都很成功,欢欣鼓舞。 在欢欣鼓舞时却发觉DNS服务器无法进行域外域名解析,查找原因发现除了本地定义的......
  • 快速掌握kafka原理解析
    ​简介​Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数......