批量导出百度网盘已分享文件标题链接浏览保存下载次数等信息python3api

  • A+

批量导出百度网盘已分享文件标题链接浏览保存下载次数失效时间等信息

在前面几篇文章里面爱在灵灵久博客分享了

    1. python3百度云网盘api关键词搜索后批量重命名文件可正则替换
    2. 百度网盘如何批量重命名,修改文件名、通过正则方式替换文件、文件夹名称的方法
    3. 如何使用python3批量分享百度网盘文件及内容的脚本工具

以及其他百度网盘使用的工具,总结起来有批量重命名、批量分享文件、批量离线下载、满速下载等多篇文章,大家可以通过本站搜索‘百度网盘’具体查看相应文章。今天继续分享如何批量导出自己百度网盘内已分享文件的标题名称、链接、提取密码、浏览次数、保存次数、下载次数、分享时间、失效时间等信息。

目前有软件界面版的了 百度网盘批量处理大师

一、使用的环境工具

还是Windows10 64位操作系统 python3.6版本,pycharm编辑器,安装使用到的是baidupcsapi库,通过pip install baidupcsapi 进行安装。如需要需要学习python相关知识这里有一些零基础入门视频教程,包括如何下载安装配置使用等,传送门。

二、baidupcsapi改造

在安装完baidupcsapi后需要对其进行改造,爱在灵灵久博客对其增加了相应的功能,首先定位到baidupcsapi库api模块的末尾处,将如下方法增加到里面:

  1. def get_share_list(self, page=1, order="ctime",**kwargs):
  2.     """获取分享文件列表
  3.     :return: requests.Repsonse
  4.     返回结果和list_files一样结构
  5.     """
  6.     params = {"channel": "chunlei",
  7.               "clienttype": "0",
  8.               "web": "1",
  9.               "page": page,
  10.               "order": order,
  11.               "desc": "1"
  12.               }
  13.     url = 'https://pan.baidu.com/share/record?'
  14.     return self._request('record', 'record', url=url, extra_params=params, **kwargs)

这样就可以添加获取已分享文件列表目录的功能。

三、批量导出步骤

第一步,引入百度网盘api类from baidupcsapi import PCS,并通过PCS登录自己的百度网盘。

第二步,获取分享文件目录列表sharelist = pcs.get_share_list(1)json().get("list")。

第三步,解析列表中各字段信息并打印出来。

  1. for file in sharelist:
  2.     title = file.get('typicalPath').split('/')[-1]
  3.     url = file.get('shortlink')
  4.     passwd = file.get('passwd')
  5.     viewcount = file.get('vCnt')
  6.     savecount = file.get('tCnt')
  7.     downcount = file.get('dCnt')
  8.     creattime = time.strftime("%Y-%m-%d",time.localtime(file.get('ctime')))
  9.     droptime = file.get('dtime')
  10.     formatinfo = "标题:{}链接:{}密码:{}浏览次数:{}保存次数:{}下载次数:{}创建时间:{}失效时间:{}".format(
  11.         title, url, passwd, viewcount, savecount, downcount, creattime, droptime
  12.     )
  13.     print(formatinfo)

第四步,在上一步的基础上进行一个while循环并判断pcs.get_share_list(i)json().get('errno'),若其不等于0则继续循环,若等于零则break。

四、源码下载

  1. from baidupcsapi import PCS
  2. import time
  3. pcs = PCS("用户名","密码")
  4. i = 1
  5. while True:
  6.     sharelist = pcs.get_share_file(i).json().get("list")
  7.     if sharelist:
  8.         for file in sharelist:
  9.             title = file.get('typicalPath').split('/')[-1]
  10.             url = file.get('shortlink')
  11.             passwd = file.get('passwd')
  12.             viewcount = file.get('vCnt')
  13.             savecount = file.get('tCnt')
  14.             downcount = file.get('dCnt')
  15.             creattime = time.strftime("%Y-%m-%d",time.localtime(file.get('ctime')))
  16.             droptime = file.get('dtime')
  17.             formatinfo = "标题:{}链接:{}密码:{}浏览次数:{}保存次数:{}下载次数:{}创建时间:{}失效时间:{}".format(
  18.                 title, url, passwd, viewcount, savecount, downcount, creattime, droptime
  19.             )
  20.             print(formatinfo)
  21.         i += 1
  22.         time.sleep(2)
  23.     else:
  24.         break
weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar 白鸟

      把“baidupcsapi改造”的代码放到baidupcsapi库api模块的末尾处,运行代码,还是说
      sharelist = pcs.get_share_file(i).json().get(“list”)
      AttributeError: ‘PCS’ object has no attribute ‘get_share_file’
      不知道怎么回事……