2022 年的全新自动化项目
如果你正在学习 Python,可以试试把自己的日常工作自动化。
只会执行已经学会的知识,是学不好 Python 的,多尝试才能获得更多回报。
因为我最近工作比较繁忙,所以一直在尝试让任务自动化,最终完成了 5 个新项目。我把这 5 个项目分别归入初级项目、中级项目和高级项目。
本文有每个项目的完整脚本和教程的链接。我在每个项目中都设置了挑战,用来测试大家的 Python 技能。
1. Microsoft Word 自动化(初级项目)
你是不是经常用 Word 编辑求职信、合同协议、简历或报告?
如果你经常遇到这种情况,这个项目就非常适合你。
在本项目中,我们用 Python 和 docxtpl 库自动生成 Word 文档。首先,准备一个想要自动化的文档模板;然后,使用 {{}} 符号作为占位符,在模板中每一个想替换的单词的位置上引入占位符。
为简化流程,我创建了一个求职信的模板,要使用的模板如下:
为了让这个项目对初学者友好,我们只需用 Python 和 docxtpl 替换 {{my_name}}、{{my_phone}}、{{my_email}}、{{my_address}} 和 {{today_date}} 这些元素。
大家可以在此视频中下载模板和脚本,并按步骤来构建这个项目。
挑战:如果你想让项目更高级一些,可以先从 Excel 文件中提取数据,再将数据引入 Word 模板中。
这个教程的第二部分有一个 Excel 文件,如下:
大家要为每行表格分别生成一个新文件。
2. 自动发送电子邮件(初级项目)
我做过的最无聊的工作之一就是发送电子邮件。
对于重要的电子邮件,我们应该认真阅读回复,但对于一些日常的电子邮件,我们可以选择自动处理!这是这个初级项目的目标。我们要用 Python 自动发送电子邮件。
要实现这项任务的自动化只需使用内置的 smtplib 和 email 模块。我们用 smtplib 通过使用简单邮件传输协议(SMTP)来发送邮件,用 email 包读取、编写和发送更复杂的 MIME 消息。
下面是一个用 Gmail 自动发送邮件的分步教程:
• 如何开启 2 步验证,通过 Python 使用 Gmail;
• 如何用 Python 发送普通邮件;
• 如何处理可能出现的 SSL 错误。
挑战:如果你想让项目更有挑战性,可以在电子邮件中附加图片,附加图片需要使用 imghdr 库。
3. 自动填写网页表格(中级项目)
填写网页表格非常乏味!
真的!一遍又一遍地填写名字、电话号码、地址等信息真的很浪费时间,更糟糕的是有时候填写调查表还得编造假数据。
在这个中级项目中,我们要用 Python 在网页表格中填写假数据。那么如何实现自动化填写呢?我们打算使用一个网页自动化库来执行进入网站、输入文本和点击按钮等网页操作。
下面是一个分步教程,介绍如何使用 Python 自动完成这项乏味的任务:
- 如何在一个单独的表格中填写数据;
- 如何用 faker 库生成假数据;
- 如何填写多个网页表格。
挑战:本教程中填写的表格中的元素比较简单。如果你想让项目更具挑战性,可以在表单中添加下拉菜单和多选等高级元素,然后试着将这个高级表格自动化。
4. Tinder 自动化(高级项目)
用户在使用约会 app 进行匹配时,需要一直向右滑动屏幕,这个过程非常耗时,所以匹配成功后,大家反而懒得继续努力把线上匹配转为线下约会了!
这个高级项目可以创建一个帮用户向右滑动屏幕的机器人,这样一来,用户就可以集中精力在搭讪台词上下功夫,提高转化率。
这个项目为什么是高级项目?原因有很多种,这里只举出其中一些:
- 登录。无论你采用什么登录方式(谷歌或 Facebook),Tinder 都会向你的手机发送一个代码,用这个代码登录 Tinder。为便于处理这个问题,我们需要保持谷歌浏览器会话的活跃性,用 Selenium 控制它。
- 易出错按钮:使用 .click 方法点击“like”按钮,有时会出现错误。对于这种特殊的网站,我们要采用一种替代方法。
- 弹出窗口:向右滑动可能会有各种弹窗,所以要把弹窗关掉。
下面这个教程可以帮助大家解决上述问题。
挑战:让机器人向你的匹配对象发送随机的搭讪信息。
注意,发送随机搭讪信息的设计只是为了练习项目!如果你想在应用中得到更多回复,尽量还是不要使用自动发送信息。我试过了,用机器人发送自动信息效果不佳。
5. 在工作中实现任务自动化(超级高级项目)
把工作中的繁琐任务自动化是最具挑战性的事情。
为什么?大家可能找不到分步教程,只能自己摸索要用的库和实现自动化的最佳方案。
如果要找自动化的内容,可以先问自己以下问题:
- 哪些任务是我不断重复做的?
- 我可以用 Python 实现哪些具体部分的自动化?
- 我应该使用什么 Python 库来实现这个项目的自动化?
如果你知道问题 3 的答案,即使你没有找到自动化具体任务的教程,也可以查看文档或指南来使用该资源库。
欢迎大家在下方发表评论,告诉我你们正在自动化的任务。
原文作者:Frank Andrade
原文链接:https://towardsdatascience.com/5-python-projects-to-automate-your-life-from-beginner-to-advanced-90fe29a7d664