五个可以用到生活中的Python自动化项目:从初级到高级

译文 精选
开发
摘要:写简历、发邮件、填表单......好用到飞起的Python自动化项目

作者丨Frank Andrade

译者丨王德朕

  如果你正在学习Python,那应该尝试在日常任务中实现自动化。这个过程中不仅能通过实践已经掌握的知识来继续学习Python,而且会让你看到努力是可以得到回报的。

  最近,由于缺乏时间,我经常将工作任务用自动化实现,这里多亏我有5个新项目,我将它们分为初级、中级和高级。你会发现每个项目的完整脚本和教程地址,此外,我还为每个项目布置了一个挑战任务,用于测试你的Python能力。

微软Word自动化 (初级项目)

  你有多少次不得不使用Word来创建求职信、合同协议、简历或报告呢?如果你数不过来,那这个项目就是为你准备的。

  在这个项目中,我们需要使用Python和一个名为docxtpl 的库来自动生成Word文档,为此,需要准备一个用于实现自动化任务的文档模板,在模板中,我们必须为要替换的单词上添加占位符,占位符用 {{}} 表示。

  为了简单起见,我已经为求职信创建了一个模板。

图片由作者提供

  为了使这个项目对初学者友好,只需使用 Python 和 docxtpl 替换元素 {{my_name}}{{my_phone}}{{my_email}}{{my_address}}{{today_date}}即可。

  挑战任务:如果你想让这个项目更上一层楼,可尝试从Excel文件中提取数据,并在Word模板中引入它。

  上述教程的第二部分有一个Excel文件,该文件如下表所示。

  +-------+-----+------------+----------------+

  | Name | ... | address | job |

  +-------+-----+------------+----------------+

  | Frank | ... | 123 Avenue | Data Scientist |

  | ... | ... | ... | ... |

  | John | ... | XYZ Avenue | Web Developer |

  +-------+-----+------------+----------------+

  你应该为表的每一行生成一个文档。

自动发送电子邮件(初级项目)

  我曾经做过最无聊的工作任务之一就是发邮件,这个初级项目的目的和内容是:重要的电子邮件应该被仔细阅读和认真回复,但日常工作的电子邮件应该被自动处理!接下来我们将用Python实现自动发送电子邮件。

  如何将这个任务自动化?我们只需要使用内置模块 smtplib email,其中 smtplib 模块用于实现简单邮件传输协议(SMTP)发送电子邮件,email 模块实现电子邮件的读,写,发送复杂 MIME 消息。

  下面是使用 Gmail 自动发送电子邮件的分步教程:

  l 如何开启2步验证以便能够用Python使用Gmail;

  l 如何使用 Python 发送普通电子邮件;

  l 如何处理可能遇到的 SSL 错误;

  挑战任务: 如果你想让这个项目更具挑战性,可以尝试在电子邮件中用imghdr 库添加图片。

自动填写 Web 表单(中级项目)

  填写表单是互联网是最乏味的任务之一,一遍又一遍的填写姓名,电话,地址和更多信息是最无聊的。更加糟糕的是,有时候你不得不用假数据来填写调查表单。

  在这里中级项目中,我们要用 Python 向网络表格填写假数据,并且将该任务自动化,这会使用一个Web自动化库,它允许我们执行 Web 操作,例如访问网站,输入文本,点击按钮。

  下面是关于如何用Python将这项繁琐的任务自动化的分步教程。

  • 如何在单个表单中填写数据;
  • 如何使用 faker 库生成假数据;
  • 如何填写多个表单;

  挑战任务:我们在本教程中填写的表单仅有简单元素。如果你想让这个任务更具挑战性,可以在表单中添加高级元素,例如下拉菜单和多项选择题,然后尝试将这个高级表单实现自动化填写。

Tinder 自动化(高级项目)

  在约会软件上向右滑动非常耗时的,以至于找到匹配对象之后,就会忽略网恋最重要的部分——将网恋对象转化为真正的约会对象!

  这个高级项目包含一个机器人,它可以替你在软件上右滑,这样你就可以在搭讪台词上下功夫,提高你的转换率。

  是什么让这个项目变得高级?有很多,仅罗列如下几个:

  • 登录:无论你使用何种登录方式(谷歌、Facebook),Tinder都会向你的手机号码发送一个验证码,你需要使用这个验证码登录Tinder,为了方便处理这个问题,你需要保持一个谷歌浏览器窗口处于活动状态,然后用Selenium控制它;
  • 棘手的按钮:如果你使用 .click方法来点击喜欢的按钮,有时会出现错误,对于这个特殊的网站,我们需要使用一种替代方法;
  • 弹窗:右滑时,你可能会遇到不同的弹窗,你必须处理它们。
  • 挑战任务:让机器人向你的匹配对象发送随机的搭讪信息,但这只是为了这个项目而做的!如果你想得到更多的回复,不要使用自动发送信息,因为我试过了,它没有自己发送高质量信息有效。

在工作中实现任务自动化(超高级项目)

  毫无疑问,将工作中的一项繁琐任务自动化是你能做的最具挑战性的事情,为什么呢?因为这种情况下大概是是没有一个分步教程来指导你的,你必须自己思考使用什么Python库,以及用哪种方法来实现任务自动化。

  要了解将任务自动化的方法,请回答以下问题:

  • 哪些任务是我一直在重复做的?
  • 我可以用Python实现哪些部分的自动化?
  • 我可以使用哪些Python库来实现这个任务的自动化?

  如果你能回答上述三个问题,那即使你找不到如何实现该任务自动化的特定教程,也可以通过查看某些代码库的文档学习如何实现该任务的自动化。

译者介绍

  王德朕,51CTO社区编辑,10年互联网产研经验,6年IT教培行业经验。

原文标题:5 Python Projects to Automate Your Life: From Beginner to Advanced

链接:​​https://towardsdatascience.com/5-python-projects-to-automate-your-life-from-beginner-to-advanced-90fe29a7d664​


责任编辑:张洁 来源: 51CTO技术栈
相关推荐

2022-02-17 13:03:28

Python脚本代码

2020-04-22 17:09:04

Python自动化开发

2020-04-21 10:45:47

PythonWordExcel

2023-05-29 10:22:07

人工智能对智慧城市

2023-09-01 09:21:03

Python自动化测试

2022-02-08 08:00:00

自动化ITCIO

2019-04-22 09:00:00

Python框架自动化测试

2018-01-15 10:30:00

AndroidPython 开发

2023-12-07 14:34:00

EDA数据集数据分析

2023-06-20 10:11:25

自动化人工智能

2023-08-17 10:14:58

物联网家庭自动化

2013-11-27 11:34:43

自动化部署Python

2022-02-25 17:02:38

自动化工作转型

2021-11-12 10:19:00

CIOIT自动化战略

2022-04-11 15:34:29

机器学习AutoML开源

2015-02-04 09:17:38

亚马逊AWS云自动化

2018-02-25 19:29:49

自动化数字化IT

2020-11-25 10:42:57

Python代码工具

2022-05-31 06:14:01

Python自动化测试

2022-07-22 14:05:46

超级云自动化
点赞
收藏

51CTO技术栈公众号