python网盘提取码怎么用_Python 一键获取百度网盘提取码
'''
遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料
'''
VERSION = "VERSION 1.0.0"
defcheckUrl(url: str)-> str:
m1 = re.match(
"https?://pan.baidu.com/s/1([a-zA-Z0-9_-]{5,22})", url)
m2 = re.match(
"https?://pan.baidu.com/share/init?surl=([a-zA-Z0-9_-]{5,22})", url)
ifnotm1 andnotm2:
print( "参数不合法")
returnFalse
else:
returnTrue
defgetKey(url: str)-> bool:
ifcheckUrl(url):
try:
req = requests.get( f"https://node.pnote.net/public/pan?url={url}")
code = req.status_code
ifcode == 200:
data = dict(json.loads(req.text))
status = data.get( "status", False)
ifstatus:
returndata.get( "access_code", "未能查询到该链接的提取码,可能原因是:该链接不需要提取码或已过期")
else:
returndata.get( "messages", "为能查询到提取码")
elifcode == 404:
return"不存在该链接的记录"
exceptException ase:
returnf"请求服务器失败,错误代码:{code}"
defget_parser():
parser = argparse.ArgumentParser()
parser.deion = "百度网盘提取码一键获取器"
parser.add_argument( 'urls', metavar= "urls", type=str, nargs= "*",
help= '设置要获取提取码的链接(多个链接请用空格分隔)')
parser.add_argument( '-v', '--version', action= 'store_true',
help= '版本号')
returnparser
defcommand_line_runner():
parser = get_parser()
args = vars(parser.parse_args())
ifargs[ 'version']:
print(VERSION)
return
s_time = time.time()
iflen(args[ 'urls']) > 1:
foritem inargs[ "urls"][ 1:]:
print( f"{item}:rnt{getKey(item)}")
e_time = time.time()
print( f"nn操作完毕,总耗时:{e_time-s_time}秒")
defmain():
command_line_runner()
if__name__ == "__main__":
main()
运行效果如下图所示:
v2
'''
遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料
'''
importargparse
importtime
importre
importrequests
fromdatetime importdatetime
importjson
accessKey = "4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD"
clientVersion = "web-client"
defgetPid(url: str)-> str:
matches = re.match(
"https?://pan.baidu.com/s/1([a-zA-Z0-9_-]{5,22})", url)
returnmatches[ 1] ifmatches elseNone
defgetUuid(pid: str)-> str:
returnf"BDY-{pid}"
defgetKey(url: str)-> str:
pid = getPid(url)
uuid = getUuid(pid)
headers = {
"type": "GET",
"data": '',
"dataType": "json"
}
url = f"http://ypsuperkey.meek.com.cn/api/items/{uuid}?access_key={accessKey}&client_version={clientVersion}&{datetime.utcnow()}"
try:
req = requests.get(url, headers=headers)
code = req.status_code
ifcode == 200:
data = json.loads(req.text)
accessCode = data.get( "access_code", None)
return"没找到提取密码,o(╥﹏╥)o"if(accessCode == "undefined"oraccessCode == NoneoraccessCode == "") elseaccessCode
elifcode == 400:
return" 服务器不理解请求的语法"
elifcode == 404:
return"不存在该链接的记录"
else:
returnf"请求服务器失败,错误代码:{code}"
exceptException ase:
returne
defget_parser():
parser = argparse.ArgumentParser()
parser.deion = "百度网盘提取码一键获取器"
parser.add_argument( 'urls', metavar= "urls", type=str, nargs= "*",
help= '设置要获取提取码的链接(多个链接请用空格分隔)')
parser.add_argument( '-v', '--version', action= 'store_true',
help= '版本号')
returnparser
defcommand_line_runner():
parser = get_parser()
args = vars(parser.parse_args())
ifargs[ 'version']:
print(VERSION)
return
s_time = time.time()
iflen(args[ 'urls']) > 1:
foritem inargs[ "urls"][ 1:]:
print( f"{item}:rnt{getKey(item)}")
e_time = time.time()
print( f"nn操作完毕,总耗时:{e_time-s_time}秒")
defmain():
command_line_runner()
if__name__ == "__main__":
main()
运行效果如下图所示:
总结
v1 版本和 v2 版本是通过请求不同的接口方式来实现的, v2 接口的数据要相对更准确一些。具体可查阅具体的代码实现。
如果你觉得上述代码不错的话,欢迎访问对应的仓库地址: baidupankey 进行 star 、fork 和 follow。
python网盘提取码怎么用_Python 一键获取百度网盘提取码相关推荐
- js使用正则表达式自动获取百度网盘和123云盘分享链接里的网址和提取码
导读: 来说一下具体的需求,我的资源网站添加源码时,需要填写 百度网盘下载链接和提取码,上传文件到百度网盘后,分享文件后有个"复制链接及提取码"的按钮,如下图: 复制出来的内容大致 ...
- python 百度网盘库 根据文件名获取网盘链接_GitHub - tychxn/baidu-wangpan-parse: 获取百度网盘分享文件的下载地址...
百度网盘分享文件下载链接解析 功能 获取百度网盘分享文件的真实下载地址 将获取到的下载链接复制到IDM.FDM等下载器即可实现高速下载,避免使用百度网盘客户端 运行环境 Python3 (兼容Pyth ...
- python百度网盘获取群组信息失败_如何获取百度网盘群组邀请链接分享
百度云网盘群组是一个广泛使用的功能,可以像qq群一样邀请大家进入,发送消息或者发送资源文件,特别是在分享链接容易出现审核失败,链接失效的情况下,通过建立群组来分享资源能够很好的避免资源失效的情况.以前 ...
- 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法
想把自己百度网盘里的数据分享给朋友,该怎么操作呢?有很多朋友使用百度网盘,可以很轻松的自己的文件上传到网盘上,并可跨终端随时随地查看和分享.今天给大家分享的是创建百度网盘 for Mac分享链接的方法 ...
- JAVA获取百度网盘下载真实地址
这是一个java写的获取百度网盘真实下载链接进行下载的程序. 程序里面一些参数拼接是根据浏览器抓包来的.具体的抓包方法网上一大堆,可以参考.这里给出了源码和导出的jar包. url网址使用于百度分 ...
- 获取百度网盘下载真实地址
这是一个java写的获取百度网盘真实下载链接进行下载的程序. 程序里面一些参数拼接是根据浏览器抓包来的.具体的抓包方法网上一大堆,可以参考.这里给出了源码和导出的jar包. url网址使用于百度分享的 ...
- 百度网盘 | 爱奇艺万能播放器与百度网盘的功能关联体验
文章目录 百度网盘与爱奇艺万能播放器 百度网盘 爱奇艺万能播放器 关联使用 百度网盘与爱奇艺万能播放器 可能大家心中都有一个疑问,百度网盘与爱奇艺万能播放器这两个能有啥关系? 这就不得不提一下 百度 ...
- 2023 最新一键下载百度网盘/阿里云盘/百度文库/道客巴巴/原创力文档
苏生不惑第415 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过录制了个视频:2022年11月一键下载百度网盘/百度文库/豆丁/道客巴巴/原创力文档 ,2023年再更新下 . 爱奇艺 ...
- Java百度网盘创建链接,java获取百度网盘真实下载链接的方法
本文实例讲述了java获取百度网盘真实下载链接的方法.分享给大家供大家参考.具体如下: 目前还存在一个问题,同一ip在获取3次以后会出现验证码,会获取失败,感兴趣的朋友对此可以加以完善. 返回的Lis ...
最新文章
- 运维利器-ClusterShell集群管理操作记录
- leetcode 1319. 连通网络的操作次数(并查集)
- Android WindowManager实现悬浮窗效果 (一)——与当前Activity绑定
- 全网首发:怎样制作CDKEY(5)-让CDKEY更混乱
- Java框架全开源商城PC+手机版+微商城独立版+全开源系统源码
- dubbo 在centos7下安装
- java间接调用_无法解析类型 java.util.Map$Entry。从必需的 .class 文件间接引用了它...
- 2020语数外百度网盘小学全集下载
- php模拟登录强智教务,湖南强智科技教务系统python模拟登录并爬取成绩(财院)...
- VC++2010解决上位机dll报错(load library error)
- 可在线接收验证短信的网站
- Cisco IGRP
- 水下SLAM论文!!!
- 纪中DAY15做题小结
- php绕过宝塔,一句命令绕过宝塔面板强制绑定账号
- 时间抖动(jitter)--学习笔记
- Qt+OpenCV联合开发(二十五)--直方图均衡化(equalizeHist)
- java进行excel读取和写入。
- 国办发布09年放假安排 国庆中秋合并连休八天
- 产品经理入门到大神的资料全推荐