python实现百度网盘创建文件夹与转存 您所在的位置:网站首页 百度网盘无法转存文件 python实现百度网盘创建文件夹与转存

python实现百度网盘创建文件夹与转存

2024-04-16 08:02| 来源: 网络整理| 查看: 265

最近学习尝试了一些爬虫的皮毛。前几天又通过jsonup将某个网站的会员视频的百度网盘链接与提取码爬入了数据库中。但是由于视频内容还是比较多的(大概2300个),一个一个地转存入度盘中太过繁琐。

同时不同视频的分类是不同的,我想要实现对于每种分类新建相应名字的文件夹,并将对应的视频转存入相应的文件夹中。

博主又懒又菜,看了一些别的大佬的博客,java实现的比较少,python实现的有几个。因此本篇博客主要用于记录百度网盘创建文件夹与转存的api与机制及核心python代码。

python实现百度网盘创建文件夹与转存百度网盘创建文件夹百度网盘转存实战思路仍存疑部分

百度网盘创建文件夹

吾爱破解中的这篇写的很好: https://www.52pojie.cn/thread-1005198-1-1.html

大佬的Commonly.py可以用于直接转存到百度云盘当中。其中需要6个参数:百度云盘链接、提取码、保存路径、BDUSS、STOKEN、bdstoken。

后三个参数需要在Cookies中获取,涉及到了个人的账号信息。其中bdstoken需要在重新登录账号后抓包获得,BDUSS、STOKEN可以在转存或登录时抓包获得。

这个代码中最好加入一段考虑到过期时的报错提醒,即:

if '侵权、色情、反动、低俗' in req.text: return ('此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!') elif '过期' in req.text: return ('啊哦,来晚了,该分享文件已过期') else: #代码中的其他内容 百度网盘转存

这篇博客中包括了百度网盘转存的api及方法 https://blog.csdn.net/madonghyu/article/details/80602185

简单的封装出了一个方法如下:

def bdcreate(savepath, BDUSS, STOKEN, bdstoken): s = requests.Session() s.cookies['BDUSS'] = BDUSS s.cookies['STOKEN'] = STOKEN headers = { 'User-Agent': get_user_agent_pc(), } # 创建文件夹 create_floder = { # 不知道是什么,大部分情况为空 'block_list': '[]', 'isdir': '1', # 保存的位置,创建文件夹 'path': savepath } # 创建文件夹的链接 url_create = 'https://pan.baidu.com/api/create?a=commit' \ '&channel=chunlei' \ '&web=1' \ '&app_id=250528' \ '&bdstoken=%s' \ '&logid=MTU3OTE3MDU4NTcwOTAuOTQwNjAwNDgxNDExNjMwNw==' \ '&clienttype=0' % (bdstoken) print(url_create) response = s.post(url_create, data=create_floder, headers=headers) response.encoding = 'utf-8' print(response.content) 实战思路

将爬好的数据库数据取出处理为json数据,同时去重整理出一个涵盖所有标签的List,for循环调用百度网盘创建文件夹方法创建各种标签的文件夹。

将json数据for循环调用百度网盘转存方法存入相应标签的文件夹中。

仍存疑部分

实际转存时,超过3次会要求输入验证码,代码中的vcode应该是处理验证码的,但我没看懂代码中怎样解决了验证码问题。实践中确实可以实现2300个资源的转存。如有知晓的同学敬请私信告知。

封装的百度网盘转存和创建文件夹代码在 代码



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有