最近遇到一批百度链接,想要转存到自己的网盘里,于是写了一个脚本,共享给大家。
语言:Python3
功能:批量读取excel百度链接转存到自己的百度网盘指定目录

第一步:获取自己百度网盘的BDUSS,STOKEN,bdstoken这三个数据,方法:登录百度网盘,通过浏览器开发者模式获取这些信息,参考如下


第二步:把参数填入代码主程序,调试执行代码即可。

#!/usr/local/Cellar/python/3.7.1/bin
# -*- coding: UTF-8 -*-
import requests,re,time,random,os,xlrd
path = os.getcwd()#获取当前时间戳
def get_timestamp():return int(round(time.time() * 1000)/1e3)#百度分享文件转存
def bdsave(furl,verify,savepath,BDUSS,STOKEN,bdstoken):#Get 打开分享链接网址s = requests.Session()s.cookies['BDUSS'] = BDUSSs.cookies['STOKEN'] = STOKENsurl = furl.split('/')[-1][1:len(furl.split('/')[-1])]headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36','Referer': 'https://pan.baidu.com/share/init?surl=' + surl}req = s.get(furl, headers=headers)req.encoding = 'utf-8'#判断分享链接是否正常if ('侵权、色情、反动、低俗' in req.text) or ('已过期' in req.text):print('此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!||啊哦,来晚了,该分享文件已过期!')return ('此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!||啊哦,来晚了,该分享文件已过期!')else:# Post user信息purl = 'https://pan.baidu.com/api/report/user?channel=chunlei&web=1&app_id=250528&bdstoken=' + bdstoken + \'&logid=MTU3NjY0ODUzNTI1MjAuNjkzMzEyMTcyODA2ODk2&clienttype=0'data = {'timestamp': get_timestamp(), 'action': 'web_home'}req = s.post(purl, data=data, headers=headers)# Post 链接和提取码信息,获取分享的内容purl = 'https://pan.baidu.com/share/verify?surl=' + surl + '&t=' + str(get_timestamp()) \+ '&channel=chunlei&web=1&app_id=250528&bdstoken=' + bdstoken + '&logid=MTU3NjY1MDc0NDMyMzAuMjIxNjQwMTA0OTQ3NjA0Njc=&clienttype=0'data = {'pwd': verify, 'vcode': '', 'vcode_str': ''}req = s.post(purl, data=data, headers=headers)rinfo = re.findall('"errno":[-]{0,1}\d+', req.text)[0].replace('"errno":', '')if rinfo in '-12,-9':return ('提取码错误。')else:# Get 获取保存分享内容需要使用的相关参数信息,这些写信息存在与分享链接网页里req = s.get(furl, headers=headers)req.encoding = 'utf-8'shareid = re.findall('"shareid":\d+', req.text)[0].replace('"shareid":', '')uk = re.findall('uk=\d+', req.text)[0].replace('uk=', '')fsidlist = re.findall('"fs_id":\d+', req.text)[0].replace('"fs_id":', '')app_id = re.findall('"app_id":"\d+"', req.text)[0].replace('"app_id":', '').replace('"', '')# print('shareid:'+shareid +'\nuk:'+uk+'\nfsidlist:'+fsidlist+'\napp_id:'+app_id)# Post 保存分享的内容purl = 'https://pan.baidu.com/share/transfer?shareid=' + shareid + '&from=' + uk + '&channel=chunlei&web=1&app_id=' + app_id + '&bdstoken=' + bdstoken + '&logid=MTU3NjY1MTc1NTcwNTAuNjg1NDU2NDk2ODIxNjYx&clienttype=0'data = {'fsidlist': '[' + fsidlist + ']','path': '/' + savepath}req = s.post(purl, data=data, headers=headers)req.encoding = 'utf-8'#检查最后返回的页面信息,查看是否成功保存try:zcinfo = re.findall('\[\{"errno":[-]{0,1}\d+', req.text)[0].replace('[{"errno":', '')except:return 'Cookies失效,请更新BDUSS、STOKEN、bdstoken后再试!'else:info = {"0": "转存成功。","-1": "由于您分享了违反相关法律法规的文件,分享功能已被禁用,之前分享出去的文件不受影响。","-2": "用户不存在,请刷新页面后重试。","-3": "文件不存在,请刷新页面后重试。","-4": "登录信息有误,请重新登录试试。","-5": "host_key和user_key无效。","-6": "请重新登录。","-7": "该分享已删除或已取消。","-8": "该分享已经过期。","-9": "访问密码错误。","-10": "分享外链已经达到最大上限100000条,不能再次分享。","-11": "验证cookie无效。","-14": "对不起,短信分享每天限制20条,你今天已经分享完,请明天再来分享吧!","-15": "对不起,邮件分享每天限制20封,你今天已经分享完,请明天再来分享吧!","-16": "对不起,该文件已经限制分享!","-17": "文件分享超过限制。","-21": "预置文件无法进行相关操作。","-30": "文件已存在。","-31": "文件保存失败。","-33": "一次支持操作999个,减点试试吧。","-32": "未知结果。","-70": "你分享的文件中包含病毒或疑似病毒,为了你和他人的数据安全,换个文件分享吧。","2": "参数错误。","3": "未登录或帐号无效。","4": "存储好像出问题了,请稍候再试。","108": "文件名有敏感词,优化一下吧。","110": "分享次数超出限制,可以到“我的分享”中查看已分享的文件链接。","114": "当前任务不存在,保存失败。","115": "该文件禁止分享。","112": '页面已过期,请刷新后重试。',"9100": '你的帐号存在违规行为,已被冻结。',"9200": '你的帐号存在违规行为,已被冻结。',"9300": '你的帐号存在违规行为,该功能暂被冻结。',"9400": '你的帐号异常,需验证后才能使用该功能。',"9500": '你的帐号存在安全风险,已进入保护模式,请修改密码后使用。'}return (info[zcinfo])# 从Excel中读取分享链接和提取密码(默认第一列是链接、第二列是提取密码)
def read_excel():filePath = os.path.join(os.getcwd(), "PartyCat.xls")workbook = xlrd.open_workbook(filePath)sheet1 = workbook.sheet_by_index(0)listurl = []listpwd = []rownum = sheet1.nrowsfor row in range(rownum):listurl.append(sheet1.cell_value(row, 0))listpwd.append(sheet1.cell_value(row, 1))return listurl,listpwddef main():# 百度网盘转存,注:BDUSS,STOKEN,bdstoken 参数要自己获取#   furl = 分享链接#   verify = 提取码#   savepath = 转存到百度网盘指定目录#   BDUSS = 从百度COOKICES中提取#   STOKEN = 从百度COOKICES中提取#   bdstoken = 从百度COOKICES中提取savepath = '/临时文件/pic图片'BDUSS = ''STOKEN = ''bdstoken = ''listurl, listpwd = read_excel()for index in range(len(listurl)):time.sleep(random.randint(1, 5))furl = listurl[index]verify = listpwd[index]print('第'+str(index + 1)+'条: '+str(furl)+'  '+str(verify))info = bdsave(furl, verify, savepath, BDUSS, STOKEN, bdstoken)print(info)if __name__ == '__main__':main()

执行效果如下:

执行后,百度网盘转存情况如下:

代码脚本和excel文件放到网盘了,分享给大家:https://pan.baidu.com/s/17wOhlcbIE66LL1jrV_J5hg

Python3:批量读取excel百度分享链接保存到百度网盘相关推荐

  1. python爬虫---批量分享链接保存/百度api

    参考文章: 百度网盘开放平台:https://pan.baidu.com/union/document/entrance 第三方百度百度网盘库(baidupcsapi): https://github ...

  2. 运用MATLAB批量读取excel表格

    运用MATLAB批量读取excel表格 运用MATLAB批量读取excel表格 需要待读取的excel表格 Step1:读取数据的路径,通过dir函数获取特定地址文件夹中的文件列表. Step2:循环 ...

  3. 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法

    想把自己百度网盘里的数据分享给朋友,该怎么操作呢?有很多朋友使用百度网盘,可以很轻松的自己的文件上传到网盘上,并可跨终端随时随地查看和分享.今天给大家分享的是创建百度网盘 for Mac分享链接的方法 ...

  4. 利用vsocde构建Python-Flask项目处理百度分享链接

    利用vsocde构建Python-Flask项目处理百度分享链接 项目结构: start.sh #!/bin/bash #To start Python-Flask #By liuxiawei noh ...

  5. 直接分享5个T的网盘资源

    嗨,各位关注科技毒瘤君的大佬们好,近期工作原因,好久没发布微信推文了,不过近期北忘山网站(beiwangshan.com)倒是更新了些许内容,这次为了证明我还huo着,直接给大家分享几个T的网盘资源. ...

  6. python 操作 excel 百度网盘 资源下载_批量读取excel百度链接转存到自己的百度网盘...

    [Python] 纯文本查看 复制代码#!/usr/local/Cellar/python/3.7.1/bin # -*- coding: UTF-8 -*- import requests,re,t ...

  7. 百度链接解析_【集合】百度分享链接解析的方法总结

    请大家在使用所有方法之前请先查看菜单栏中的用前必看 01 在别人分享的链接前面加 http://pan.naifei.cc/?   然后放入浏览器就可以解析了.比如:  http://pan.naif ...

  8. 百度网盘共享文件夹复制服务器错误,分享链接失效?百度网盘秘密武器共享文件夹功能使用详解-rar文件怎么打开...

    由于一些众所周知的原因,直接分享文件链接会立马被封:( 还好,百度网盘有个共享文件夹功能,下面抓紧学起来吧:) 注意:pc版百度网盘,也就是电脑上安装的百度网盘软件,不支持共享文件夹功能!!!网页版百 ...

  9. java操作excel文件之系列一:《读取excel文件的内容保存到数据库》

    excel文件:example.xls 文件内容大概是下面这样的: 现在要读取excel的内容写入数据库中 String filepath = "example.xls";Stri ...

  10. java 批量读取excel表格内容_java 使用POI批量导入excel数据

    一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取e ...

最新文章

  1. 1002: A+B for Input-Output Practice (II)
  2. 监控mysql的shell脚本_监控MySQL主从状态的shell脚本
  3. 说一说安装sklearn遇到的坑
  4. django学习——通过HttpResponseRedirect 和 reverse实现重定向(转载)
  5. 临床研究中的基因组学、药物基因组学、蛋白质组学和转录组学 Omics in Clinical Practice: Genomics, Pharmacogenomics, Proteomics, and
  6. jenkins docker脚本
  7. windows下实现自己的第一个python脚本文件并.exe运行
  8. 进程管理—进程描述符(task_struct)
  9. pandas 操作 excel
  10. java 图片地址,java中图片地址存入数据库
  11. ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
  12. Android的JNI【实战教程】6⃣️--温控计
  13. linux添加隧道,linux配置多级服务器登录和隧道映射
  14. Python语言概述
  15. centos6.5安装谷歌浏览器+谷歌浏览器flash插件安装+谷歌浏览器pdf阅读器安装
  16. word文档分节后 如何删除某一节的页码
  17. 请问为什么DSP需要Q格式? q31、q15、q7和f32是什么意思?
  18. 百度编辑器-Ueditor-上传图片的配置
  19. Node-RED使用指南:28:撤销与删除恢复
  20. spring clude ---服务网关组件Netflix Zuul

热门文章

  1. Android程序崩溃异常收集框架
  2. java繁体转简体包,java繁体转简体
  3. java 通配符 删除文件_jQuery removeClass通配符
  4. android 光标的绘制,Android EditText(TextView)如何绘制闪烁的光标?
  5. 【狂神说Java】Redis
  6. ps切图后 JAVA开发_两种ps切图方法(图层/切片)
  7. Java之BIO网络编程
  8. 一块硬盘装了黑苹果 一块硬盘装了win7_自己组装一台“iMac”是什么体验(下):AMD 平台也能吃上黑苹果...
  9. Jack Platts:Polkadot 在 Staking 上的设计
  10. 电脑只能上QQ不能开网页