菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

批量下载百度网盘分享资源Python脚本

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:python教程 Python脚本

批量转存百度网盘分享资源Python脚本可以使用第三方库`baiduwp-sdk`来实现。首先需要安装这个库,然后使用它提供的API接口来上传文件到百度网盘。 以下是一个简单的示例代码: ```python # 安装baiduwp-sdk库 !pip install baiduwp-sdk from baiduwp_sdk import BaiduWP import os # 替换为你的百度网盘access_token access_token = 'your_access_token' # 创建百度网盘对象 wp = BaiduWP(access_token) # 要上传的文件列表 file_list = ['file1.txt', 'file2.jpg', 'file3.pdf'] # 遍历文件列表,逐个上传到百度网盘 for file in file_list: with open(file, 'rb') as f: file_name = os.path

前言

批量转存百度网盘分享资源Python脚本,解封双手,无需一个个链接的点击保存。
通过解析百度网盘保存链接,只需要要保存的网盘资源链接,用户的Cookie和需要保存到的路径,文件名只是便于控制台查看结果,并无实际作用。

上传模式分为单个文件和多个文件(txt文件),批量保存可选择多文件保存。

python脚本代码

#-*-encoding:utf-8-*-'''[url=home.php?mod=space&uid=267492]@file[/url]:BaiduPan.py[url=home.php?mod=space&uid=238618]@Time[/url]:2022/08/2411:54:57[url=home.php?mod=space&uid=686208]@AuThor[/url]:Arctic[url=home.php?mod=space&uid=1248337]@version[/url]:1.0@Contact:[email]784060033@qq.com[/email][url=home.php?mod=space&uid=1781681]@desc[/url]:'''importmathimportrandomimportreimportrequestsimportbase64fromurllib.parseimportunquoteclassBaiduPan:def__init__(self,cookie)->None:self.headers={'Host':'pan.baidu.com','Cookie':cookie,'User-Agent':'Mozilla/5.0'}defget_info(self,url):res=requests.get(url,headers=self.headers)share_uk=re.findall(r'share_uk:"(d+)"',res.text)[0]shareid=re.findall(r'shareid:"(d+)"',res.text)[0]app_id=re.findall(r'app_id":"(d+)"',res.text)[0]fs_id=re.findall(r'fs_id":(d+),',res.text)[0]bdstoken=re.findall(r"bdstoken:'(w+)'",res.text)[0]return(share_uk,shareid,app_id,fs_id,bdstoken)defgetDpLogId(self,uk=None):defgetRandomInt(num):returnstr(math.floor((random.random()*9+1)*math.pow(10,num-1)))defvalidateUk(uk):returnlen(uk+'')==10defprefixInteger(num,length):return''.join(['0'for_inrange(length-len(num))])+numdefgetCountId(countid=30):ifcountid<9999:countid+=1else:countid=0returnprefixInteger(str(countid),4)client=''userid='00'+getRandomInt(8)sessionid=getRandomInt(6)ifukandvalidateUk(uk):userid=ukreturnclient+sessionid+userid+getCountId()defupload(self,uri,path='/我的资源'):url='https://pan.baidu.com/share/transfer'headers=self.headers.copy()headers['Referer']=urishare_uk,shareid,app_id,fs_id,bdstoken=self.get_info(uri)sekey=unquote(re.findall(r'BDCLND=(.+?);',headers['Cookie'])[0])logid=base64.b64encode(re.findall(r'BAIDUID=(.+?);',headers['Cookie'])[0].encode()).decode()dplogid=self.getDpLogId()params={'shareid':shareid,'from':share_uk,'sekey':sekey,'channel':'chunlei','web':'1','app_id':app_id,'bdstoken':bdstoken,'logid':logid,'clienttype':'0','dp-logid':dplogid,}data={'fsidlist':f'[{fs_id}]','path':path}resp=requests.post(url,headers=headers,params=params,data=data).json()#pprint.pp(resp)ifresp['errno']==0:return'保存网盘成功。'elifresp['errno']==4:return'已经保存过了。'elifresp['errno']==2:return'保存时出现未知错误。'else:returnresp['show_msg']#单个文件保存defsing_upload(name,url,cookie,path='/我的资源'):pan=BaiduPan(cookie)print(name+pan.upload(url,path))#多个文件保存deftxt_upload(file,cookie,path='/我的资源'):withopen(file,'r',encoding='utf8')asf:datas=[data.strip().split()fordatainf.readlines()ifdata.strip()]pan=BaiduPan(cookie)fordataindatas:name,url=dataprint(name+pan.upload(url,path))if__name__=='__main__':print('***百度网盘批量保存***')print('n请将百度账号cookie复制到cookie.txt文件中')withopen('cookie.txt','r',encoding='utf8')asf:cookie=f.read()mode=input('n1.单个文件保存n2.多个文件保存(txt文件)n选择模式:')ifmode=='1':name=input('输入文件名称:')url=input('输入网盘链接:')path=input('输入保存路径(不输入默认保存至/我的资源):')ifnotpath:path='/我的资源'sing_upload(name,url,cookie,path)elifmode=='2':file=input('输入txt文件路径:')path=input('输入保存路径(不输入默认保存至/我的资源):')ifnotpath:path='/我的资源'txt_upload(file,cookie,path)

完整示例脚本下载:https://pan.baidu.com/s/19fEGBA4quuT2R7CCuULY5w?pwd=84up

相关专题
评论
建站知识
建站知识
使用技巧
调试安装
运营推广