欢迎光临散文网 会员登陆 & 注册

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

2022-11-12 22:49 作者:拉灯的小手  | 我要投稿

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

记一次某度网盘 无限速下载地址解析站的分析及实现

操作环境

  • win10 、 mac

  • Python3.9

  • requests、lxml

  • Charles

分析

解析站:

aHR0cHM6Ly93d3cua2Vsb25nd28uY29tL1Jlc291cmNlX2Z1bmN0aW9uL3Bhbi9iYWlkdS8=

在这里插入图片描述

经分析研究,发现想要拿到无限速下载地址共需两步:

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

在这里插入图片描述

就是一个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

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


某度网盘 无限速下载地址解析站的分析及实现的评论 (共 条)

分享到微博请遵守国家法律