admin管理员组文章数量:1583042
最近学习尝试了一些爬虫的皮毛。前几天又通过jsonup将某个网站的会员视频的百度网盘链接与提取码爬入了数据库中。但是由于视频内容还是比较多的(大概2300个),一个一个地转存入度盘中太过繁琐。
同时不同视频的分类是不同的,我想要实现对于每种分类新建相应名字的文件夹,并将对应的视频转存入相应的文件夹中。
博主又懒又菜,看了一些别的大佬的博客,java实现的比较少,python实现的有几个。因此本篇博客主要用于记录百度网盘创建文件夹与转存的api与机制及核心python代码。
python实现百度网盘创建文件夹与转存
- 百度网盘创建文件夹
- 百度网盘转存
- 实战思路
- 仍存疑部分
百度网盘创建文件夹
吾爱破解中的这篇写的很好:
https://www.52pojie/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/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/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个资源的转存。如有知晓的同学敬请私信告知。
封装的百度网盘转存和创建文件夹代码在
代码
版权声明:本文标题:python实现百度网盘创建文件夹与转存 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727903725a1137184.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论