给工作加点料——试一试 python
背景
突然接到一个临时需求,提供多个 excel 文件,然后根据文件中的内容,以一定的规则拼接对应图片资源的下载路径,在按照 excel 文件种的部分字段属性,生成存储路径,并把图片以指定文件名存到对应地址下
总的来说就是,2 个具体需求
读取 excel 文件,拼接下载地址
下载图片,并存放到指定的路径下。
我定睛一看,这不就是个最简单的爬虫工具吗。
快速选型
在我刚毕业的那两年了,大部分时间几乎都是搞这种爬虫工具了,所以,这个对我来说没什么挑战。
但是呢,可能是因为审美疲劳,我突然不想用 C#来写这个工具了,而需求又比较急,所以我就先写好了一份 C#的代码。整理完后,发现距离规定的时间还很多,当下也没别的紧急的事情,就想着试试用 python 在重写一份!
因为早就听说 python 在爬虫和数据整理这方面的厉害,只是没自己上手试过,正好机会难得,那就来试一试吧!
1 分钟搭环境(额..时间不含下载过程)
*下载 Python
这个不用多说,有需要的直接官网走起👉:https://www.python.org/
安装好后,控制台验证安装是否成功
配置开发环境
因为不是主要开发语言,而且我也只是打算把 Python 当成一种高度自定义的软件来使用,所以我这里就没有安装专用的 pycharm 集成开发环境,而是直接 VSCode+python 插件来做的。
配置过程也很简单,安装好 python 和 vscode 后,在 vscode 的扩展市场搜索“python”关键字即可。
因为我对 python 不熟悉,所以就直接安装了带星标的插件,当然可能有更好的。
好了,到此开发环境就搭好了~
写代码
建立工作区
找一个没人的地方,建好指定的目录,然后在目录下,打开 vscode,设为这个 python 程序的工作区
如果用的是 Windows11,可以直接在当前目录,右击,进入终端,然后输入
就 ok 了。当然其他 windows 版本可以在地址栏键入 cmd 呼出命令行窗口,然后执行相同命令即可。
读取 excel
需求的第一步就是读取 excel 文件,那我通过百度了解到,python 读取 excel 有很多种方式,在知乎上有个哥们,还列了个这样的图
那就简单了啊,咱肯定是得选全是对勾的库啊!所以,操作 excel 的库,就用的 xlwings 了。
当然了,在选它之前,肯定还是得先大概了解下,不能光凭一张图啦。
xlwings 的官方文档在这里👉:https://www.xlwings.org/
通过文档可以了解到,这个库是开源免费的,虽然比较年轻,连 1.0 的版本都还没有(现在在快速迭代中,基本 3-4 天就更一个版本,最新的版本是v0.27.14),但热度很高,能力也是超群,文档也很详细。所以最终还是选的它!
关于更多关于 xlwings 的用法,大家可以直接去看文档
下载文件
根据读取 excel 来的信息,就可以进行网络请求,并进行下载了
好了,到这里,代码就写完了,赶紧跑一下看看效果
结果
嗯,基本是按照预想的结果来的文件批量下载,并保存到指定路径。
总结
因为我这里的需求很简单,基本是一次性工作,下载量也就几百个文件,所以到这里 python 的尝试就结束了。但回头来看,其实还有很大的优化空间,比如,是否可以开多个线程同时进行下载,或者是否可以同时链接多个 excel 文件等等,后续有待继续探索。
对了,最后我还想在多数两句!通过这次对 python 的尝试,我觉得 python 真的是一种人人皆可上手的编程语言!
它风格独特,简单,如果你有其他语言的基础,再写 python 的代码有一种挣脱束缚的感觉,分号不用写了,逻辑语句也不用结尾关键字,通过间隔就搞定了,第三方组件包的安装也非常方便流畅,而且线上的资源足够多等等...
总之就是如果是处理繁杂的日常工作,通过总结发现工作是可以进行自动化或者半自动化来处理的,而市面上或者自己并不知道有这样的软件工具,就可以试试用 Python 来解决。
当然作为专业的 Python 开发,可能要学习很多关联的知识,可能会对一些代码的写法十分挑剔。但胜在咱不是专业的啊,咱用 Python 就是纯纯的面向偷懒编程!
所以我觉得,python 真的是一种人人可学的编程语言!是一个礼物语言🎁!
好了,就这些了。
版权声明: 本文为 InfoQ 作者【为自己带盐】的原创文章。
原文链接:【http://xie.infoq.cn/article/b410354de3c357837c4b37dae】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论