前言

  最近在油猴找到一个脚本,挺有意思,它能够下载那些允许预览的文档,这个到是很常见的一种脚本,其原理大概就是自动截图得到图片,然后给你合成PDF文档。这也就是为什么只能下载那些能够预览的文档。
  但是这个脚本有意思的地方在于,它就是不给你提供最后一步,只给你一个包含文档所有照片的链接,我猜它应该是将这些下载的图片上传到某个图床了,然后把它的图床链接汇总到一个表格中,至于为什么不做最后下载图片到本地这最后一步咱也不知道,也不敢议论大佬的想法,总之,这个脚本用起来很不方便。
  于是就有了本篇博客,试图用 “除了生孩子其他没什么不会” 的MATLAB来解决 “最后一公里”

代码展示

%GETPICTURE 打开一个包含图片链接的Excel表格,并下载对应的图片
function getpicture(filename) %输入的filename为表格的绝对路径expression = '\w*\.csv$'; %正则表达式,用于去除最后一级文件名end_pos = regexp(filename, expression, 'start'); %得到截止的位置path = extractBefore(filename, end_pos); %保留截止位置前的路径——上一级路径out_path = strcat(path, 'pic_out'); %设定输出图片的路径,和原文件保持同一目录,名字可自定义mkdir(out_path); %得先创建这个路径,因为imwrite函数不支持创建不存在的文件夹[~, txt, ~] = xlsread(filename); %读取文件,保留字符串for i = 1:length(txt) %遍历所有链接pic = webread(txt{i}); %将图片下载下来pic_path = strcat(out_path, '\', num2str(i), '.png'); %确定图片的路径及命名imwrite(pic, pic_path); %保存图片fprintf("已下载%d张图片\n", i); %显示进度用endfprintf("下载完毕\n");
end

  代码里面注释已经写得非常明白了,感觉有MATLAB基础的基本能够看懂,最后实现的效果就是在表格对应的路径下创建了一个pic_out的文件夹,里面存放下载下来的图片,如下图所示。

另外,得到的表格文件如下图所示。

pic_out文件夹中如下图所示。

函数汇总

  这里为方便起见,简单汇总一下使用到的一些函数,具体用法查看帮助文档。

  • regexp——用来匹配正则表达式
    out = regexp(str, expression, outkey) 返回 outkey 指定的输出。例如,如果 outkey 为 'match',则 regexp 返回与该表达式匹配的子字符串而非其开始索引。outkey通常的取值有:

附:参考链接  具体用法建议看帮助文档,这个链接的博客也是来自于帮助文档。

  • extractBefore——获取字符串自某个位置前的字符子串
    MATLAB中常用的字符串处理函数可以看看这个官方链接。

  这里需要补充一点的就是xlsread函数得到的cell类型的数据更多体现的是一个数据形式,其数据格式(string,double,int)还是取决于文件内容。比如设置了txt输出之后,那么就能读取到表格中的字符串,只是在使用数据时格式要正确,要根据cell类型使用{}

  • strcat——连接字符串,和上面那个一样,也是字符串处理函数
  • webread——读取网页数据的函数
    最开始想要在MATLAB中找一个可以下载在线图片的函数,找到了urlwrite函数,打开其帮助文档,发现它不推荐使用这个函数,而是推荐使用webwritewebread,这里由于是下载,所以使用的是webread,然后根据帮助文档给出的案例进行探索即可。
  • imwrite——将图片数据保存到本地
    使用webread得到的图片数据实际上是图片的二进制码,如果想要自己查看,可以使用imshow函数,如果需要保存到本地,那就要用到imwrite函数了,但是这里有一个问题就是 imwrite似乎不能写入一个不存在的路径(它不能自己创建路径),会报错没有权限 。所以在使用imwrite函数前,先用mkdir创建一个路径。

更新 /*2022.7.19*/

  在朋友的提示下,发现MATLAB还自带了一个路径处理的函数,即能实现回退到上一级目录。 这个函数是fileparts,其用法如下所示。 官网帮助链接
此外,还可以使用字符串搜索函数,从后面开始搜索,找到第一个反斜杠\为止。

【MATLAB】基于油猴脚本和MATLAB下载原创力文档相关推荐

  1. 2023 最新一键下载百度网盘/阿里云盘/百度文库/道客巴巴/原创力文档

    苏生不惑第415 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过录制了个视频:2022年11月一键下载百度网盘/百度文库/豆丁/道客巴巴/原创力文档 ,2023年再更新下 . 爱奇艺 ...

  2. (油猴脚本网盘下载加速)

    百度网盘不限速下载方法 一.浏览器安装Tampermonkey扩展 1.1安装扩展 1.2打开扩展 二.安装网盘下载脚本 2.1安装脚本 2.2首次进行验证 三.脚本使用 3.1创建分享链接 3.2下 ...

  3. 基于油猴脚本写的填简历工具

    先展示效果吧 本质直接把输入框增加选择框 安装油猴 首先没有油猴插件的可以按教程安装: 1.去官网直接下载 2.官网下不了的可以用我滴链接 链接:https://pan.baidu.com/s/1T_ ...

  4. 油猴脚本和aira2下载器

    作用 懂的都懂 前提 需要能fq 安装chrome浏览器 油猴 谷歌chrome浏览器打开拓展商店,搜索tampermonkey,安装 这个拓展插件的作用是管理各类脚本 获取各类脚本 访问 https ...

  5. 利用计算机软件模拟光栅衍射实验,光栅衍射实验地MATLAB仿真(29页)-原创力文档...

    实用标准文案 届 别 2012 届 . . 学 号 200814060106 毕业设计 光栅衍射实验的 MATLAB仿真 姓 名 吴 帅 系 别. 专 业 物理与电子信息工程系 应用物理专业 导 师 ...

  6. 原创力文档怎么免费下载_哪里可以下载免费的PDF文档转换器?

    在我们使用电脑的过程中,经常会使用到各种类型的文档,其中PDF文档也非常受欢迎,尤其对PDF文档转换器工具的需求非常广,由此PDF文档转换器也成为了众多技术人员研究的对象,以满足众多使用者的需求. 本 ...

  7. MATLAB已知坐标均匀取电,基于MATLAB带钢卷取电液伺服控制系统的分析(word文档良心出品)(11页)-原创力文档...

    系统动力学结课作业-基于MATLAB的 带钢卷取电液控制系统的研究 姓名: 王紫民 流水号:学号: 专业: 机械工程 日期: 2014.05.10 基于MATLAB^钢卷取电液伺服控制系统的分析 一. ...

  8. matlab穆尔,基于matlab(矩阵实验室)的倒立摆控制系统仿真(34页)-原创力文档

    基于MATLAB的倒立摆控制系统仿真 摘 要 自动控制原理(包括经典部分和现代部分)是电气信息工程学院学生的一门必修专业基础课,课程中的一些概念相对比较抽象,如系统的稳定性.可控性.收敛速度和抗干扰能 ...

  9. matlab里面滑模控制示例,基于趋近律的滑模控制matlab仿真实例(12页)-原创力文档...

    基于趋近律的滑模控制 一.基于趋近律的滑模控制 1.控制器的设计 针对状态方程 (1) 采用趋近律的控制方式,控制律推导如下: (2) (3) 其中slaw为趋近律. 将状态方程式(1)代人(2)得 ...

最新文章

  1. 也许,这是东半球最叼的Java内存模型
  2. Elasticsearch 如何做到快速检索?
  3. Day28:Event对象、队列、multiprocessing模块
  4. Sql Injection 注入攻击
  5. Hadoop MapReduce容错性分析
  6. linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法
  7. java 监听客户端的退出_Java ServerSocket 手动关闭监听
  8. 怎么判断应用程序是多少位运行的
  9. python能开发游戏吗_python可以开发游戏吗,python能开发游戏吗
  10. 【Java】计算符号函数的值
  11. TokenInsight:BTC波动率处于近3年高位,人气小幅回落
  12. 解决DatePicker中Appbar icon缺失
  13. QQ用户文件夹下即(user文件夹) 各个文件都是干什么的
  14. 主流浏览器兼容性问题与解决方案
  15. lwj_C#_homework 攻城车 攻击 WASD移动
  16. pytorch 模型与tf模型转换
  17. 涉密计算机默认安全用户名,机密级涉密计算机的系统登录如采用用户名加口令的方式,则系统口令更换周期不得长于 - 作业在线问答...
  18. Django企业开发实战--by胡阳,学习记录1127
  19. Kafka的安装与配置
  20. GDT(全局描述表)

热门文章

  1. MH算法拟合标准柯西分布
  2. sql导出的身份证后几位是000
  3. 战略盲区,是看不见,还是不想看见?
  4. [电脑组装]记录第一次组装电脑+win10激活
  5. 影响一生的32步电影
  6. STM32智能门锁学习二,RFID刷卡解锁
  7. EN 12101-8:2011烟雾和热量控制系统防烟挡板—CE认证
  8. 电子计算机怎么按不了数字,计算器失灵按不出数字
  9. 工具类产品适合在微信公众号上运营吗?
  10. VB中产生10个不重复的随机数