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

前言

  最近在油猴找到一个脚本,挺有意思,它能够下载那些允许预览的文档,这个到是很常见的一种脚本,其原理大概就是自动截图得到图片,然后给你合成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); %显示进度用
    end
    fprintf("下载完毕\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,其用法如下所示。 官网帮助链接在这里插入图片描述
此外,还可以使用字符串搜索函数,从后面开始搜索,找到第一个反斜杠\为止。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
S32K原创文档是指对S32K系列芯片实施的原创文档。S32K系列是意法半导体(STMicroelectronics)推出的一款32位汽车化主控芯片,具有高性能、低功耗和丰富的外设接口等特点,适用于汽车电子系统等领域。原创文档则是对S32K系列芯片的技术规格、设计原理、软件开发等方面的文档资料。这些文档是由制造商或者第三方技术团队经过研究和实践得出的,具有较高的可信度和专业性。 S32K原创文档主要包括以下几个方面的内容。首先是S32K系列芯片的基本介绍,包括芯片的特性、架构和应用领域等。其次是S32K系列芯片的硬件设计指南,包括电路设计、引脚配置、外设接口等方面的详细说明,帮助工程师设计出稳定可靠的硬件系统。然后是S32K系列芯片的软件开发指南,包括软件架构、驱动程序、编程接口等方面的详细说明,帮助开发人员开发出功能完善的软件系统。最后是S32K系列芯片的调试和测试指南,包括故障排查、性能测试、软硬件集成调试等方面的详细说明,帮助工程师解决问题和提高开发效率。 S32K原创文档对于使用S32K系列芯片的工程师和开发人员来说,具有重要的指导意义。通过学习和理解这些文档,可以更好地了解S32K系列芯片的特性和性能,以及其在汽车电子领域中的应用。对于芯片的硬件设计和软件开发来说,S32K原创文档提供了详细的技术指南和实例,可以帮助工程师们正确、高效地完成设计任务。同时,S32K原创文档也为问题排查和故障修复提供了重要的参考资料,帮助工程师更快地解决问题并提高产品质量。 总之,S32K原创文档对于S32K系列芯片的研发和应用具有重要的意义,它是工程师们进行相关设计工作的重要参考,可以提高研发效率和产品质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录无知岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值