原创某度网盘无限速下载地址解析
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!
记一次某度网盘 无限速下载地址解析站的分析及实现操作环境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"]/p[2]/p/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 parameter2.提取出解析所需的参数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("//p[@class="q-topic-item"]/p/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
本文仅供学习交流使用,如侵立删!