MOOC下载器的文档整理
2024-08-27 06:37:20
1.背景
最近学习中国大学MOOC的课程,想把课程的pdf下载下来本地保存并浏览。工具: Setup-Mooc-3.4.0.exe
但是,却发现所下载的文档在不同的文件夹里,浏览很不方便。于是写个脚本复制粘贴课件到指定位置。
2.工作
2.1 获取指定目录中所下载的文件名
files=[]
#获取指定目录下的文件名
def get_file_dir(dir):
if os.path.isdir(dir):
for item in os.listdir(dir):
if item!='System Volume Information':#windows下没权限删除的目录:可在此添加更多不判断的目录
get_file_dir(os.path.join(dir, item))
else:
files.append(dir)
path=r'C:\Users\Administrator\Downloads\Programs\学无止下载器-v1.1.0\Download'
get_file_dir(path)
2.2 粘贴复制并重命名文件
course='离散数学 北交大 刘铎'
#newpath=r''+'\\'+course #合并的文件存放位置
new_path=r''+'\\'+course+'\课件' #复制的文件存放位置
for file in files:
old_name=os.path.split(file)[1]
new_name=re.sub('[()--—_课件]','',old_name)
shutil.copy(file,os.path.join(new_path,new_name))
2.3 文件合并
def mergepdf(new_path,course,newpath):
pdfs=os.listdir(new_path)
merger = PdfFileMerger()
for pdf in pdfs:
merger.append(open(os.path.join(new_path,pdf), 'rb'))
with open(newpath+'\\'+course+'.pdf', 'w+') as fout:
merger.write(fout)
值得注意的是,这里程序会报错,如下:
在网上看到一些文章提及编码方式改成“GBK”,可在一定程度上解决问题(但也可能出现乱码)。这里没有尝试,我直接用Adobe Arcobat Pro DC合并。
2.4 结果
3.最后
对于本脚本,我后来进行了优化(文件夹新建、命令行输入参数),下载链接:mooc_pdf_cmd
若有问题,请私信我。
最新文章
- js中的位运算
- break continue 区别 以及实例
- 高级php面试题
- [译]C++, Java和C#的编译过程解析
- salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
- cxf的soap风格+spirng4+maven 客户端
- 学习练习 java 验证码练习
- 2015南阳CCPC G - Ancient Go 暴力
- tar解压去除文件夹
- C#创建、安装一个Windows服务
- [译]Java 设计模式之适配器
- python中常见的三种句型if,while,for
- Redis数据结构简介
- CentOS7.4下部署hadoop3.1.1
- JavaScript 对象(上)
- Selenium Webdriver 中的 executeScript 使用方法
- 并发连接MySQL
- 简单贪心) Repair the Wall hdu2124
- 如何让其他电脑访问到自己的Django项目
- BZOJ1059或洛谷1129 [ZJOI2007]矩阵游戏
热门文章
- 组件文档系统-md-react-styleguidist
- 正则表达式入门教程&;&;经典Javascript正则表达式
- 【GStreamer开发】GStreamer基础教程14——常用的element
- Python机器学习基础教程-第1章-鸢尾花的例子KNN
- 洛谷 题解 UVA247 【电话圈 Calling Circles】
- Asp.Net Core中完成拒绝访问功能
- TCP/IP学习笔记7--TCP/IP模型通信例子学习
- GraphHopper-初识
- http GET 和 POST 请求的优缺点、区别以及误区
- IAR_EW_MSP430下载