我们可能都在花时间做一些没有多大价值的小手工任务。它可能是扫描信息源以搜索少量相关信息,使用电子表格反复生成相同的图形,或者逐个搜索文件,直到找到我们要查找的数据。事实上,这些任务中的一些可能大部分是可自动化的。前期有一项投资,但对于反复重复的任务,我们可以使用计算机来完成这些琐碎的任务,并将我们自己的精力集中在人类对基于结果的高层次分析和决策的好处上。这本书将解释如何使用 Python 语言自动化常见的业务任务,如果计算机正在执行这些任务,这些任务可以大大加快速度。
考虑到 Python 的表现力和易用性,开始制作小程序来执行这些操作并将它们组合到更集成的系统中是非常简单的。在整本书中,我们将展示小的、易于遵循的食谱,这些食谱可以适应您的特定需求,我们将结合它们来执行更复杂的操作。我们将执行常见的操作,例如通过抓取 web 来检测机会,分析信息以生成带有图形的自动电子表格报告,与自动生成的电子邮件通信,通过文本消息获取通知,以及学习如何在您专注于其他更重要内容的同时运行任务。
虽然需要一些 Python 知识,但本书是以非程序员为中心编写的,给出了清晰而有指导意义的方法,这些方法将提高读者的熟练程度,同时面向特定的日常目标。
本书面向希望使用和扩展其知识以实现任务自动化的 Python 初学者,不一定是开发人员。书中的大多数例子都是针对营销、销售和其他非技术领域的。读者需要了解一点 Python 语言,包括其基本概念。
第一章*让我们开始我们的自动化之旅,*介绍了一些基本内容,这些内容将贯穿全书。它描述了如何通过虚拟环境安装和管理第三方工具,如何进行有效的字符串操作,如何使用命令行参数,并向您介绍了正则表达式和其他文本处理方法。
第 2 章、使任务自动化变得简单展示了如何准备和自动运行任务。它涵盖了如何编程任务在应该执行时执行,而不是手动运行它们;如何通知自动运行的任务的结果;以及如何在自动化流程中出现错误时得到通知。
第 3 章构建您的第一个网页抓取应用,探索发送网页请求以不同格式与外部网站进行沟通,如原始 HTML 内容;结构化提要;RESTful API;甚至可以在不需要人工干预的情况下自动执行浏览器中的步骤。它还包括如何处理结果以提取相关信息
第 4 章搜索和读取本地文件说明了如何搜索本地文件和目录,并分析其中存储的信息。您将学习如何过滤不同编码的相关文件,并读取几种常见格式的文件,例如 CSV、PDF、Word 文档甚至图像。
第 5 章生成精彩的报告,介绍如何以多种格式显示以文本格式给出的信息。这包括创建模板以生成文本文件,以及创建格式丰富、样式正确的 Word 和 PDF 文档。
第 6 章电子表格乐趣,探讨如何以 CSV 格式读写电子表格;在丰富的 Microsoft Excel 中,包括格式和图表;在 LibreOffice,微软 Excel 的免费替代品
第 7 章开发惊人的图表,解释如何生成漂亮的图表,包括饼图、折线图和条形图等常见示例,以及其他高级案例,如堆叠条形图甚至地图。它还解释了如何组合和设置多个图形的样式,以生成丰富的图形并以可理解的格式显示相关信息。
第 8 章处理通信通道,说明如何在多个通道中发送消息,使用外部工具完成大部分繁重工作。本章将介绍单独发送和接收电子邮件以及整体,通过短信进行通信,以及在电报中创建机器人。
第 9 章、*为什么不让营销活动自动化?*将书中包含的不同配方结合起来,形成一个完整的营销活动,包括发现机会、生成促销、与潜在客户沟通以及分析和报告促销产生的销售额等步骤。本章介绍如何组合不同的元素来创建强大的系统。
第 10 章调试技巧提供了不同的方法和技巧,以帮助调试过程并确保软件的质量。它利用 Python 强大的内省功能及其现成的调试工具来解决问题和生成可靠的自动化软件。
在阅读本书之前,读者需要了解 Python 语言的基础知识。我们并不认为读者是这门语言的专家。
读者需要知道如何在命令行中输入命令(Terminal、Bash 或等效命令)。
要理解本书中的代码,您需要一个文本编辑器,它将使您能够阅读和编辑代码。您可以使用支持 Python 语言的 IDE,如 PyCharm 和 PyDev,这取决于您的选择。查看此链接了解有关 IDE 的想法:https://realpython.com/python-ides-code-editors-guide/ 。
您可以从您的账户www.packt.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packt.com/support并注册,将文件通过电子邮件直接发送给您。
您可以通过以下步骤下载代码文件:
- 登录或注册www.packt.com。
- 选择“支持”选项卡。
- 点击代码下载和勘误表。
- 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。
下载文件后,请确保使用以下最新版本解压或解压缩文件夹:
- WinRAR/7-Zip for Windows
- 适用于 Mac 的 Zipeg/iZip/UnRarX
- 适用于 Linux 的 7-Zip/PeaZip
该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Python-Automation-Cookbook 。如果代码有更新,它将在现有 GitHub 存储库中更新。
我们的丰富书籍和视频目录中还有其他代码包,请访问**https://github.com/PacktPublishing/** 。看看他们!
我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以下载它https://www.packtpub.com/sites/default/files/downloads/9781789133806_ColorImages.pdf 。
本书中使用了许多文本约定。
CodeInText
:表示文本中的码字、对象名、模块名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL 和用户输入。下面是一个例子:“对于这个配方,我们需要导入requests
模块。”
代码块设置如下:
# IMPORTS
from sale_log import SaleLog
def get_logs_from_file(shop, log_filename):
def main(log_dir, output_filename):
...
if __name__ == '__main__':
# PARSE COMMAND LINE ARGUMENTS AND CALL main()
请注意,为了简洁明了,可以对代码进行编辑。必要时请参阅 GitHub 上提供的完整代码。
任何命令行输入或输出的编写方式如下(请注意$
符号):
$ python execute_script.py parameters
Python 解释器中的任何输入都按如下方式编写(注意>>>
符号):
>>> import delorean
>>> timestamp = delorean.utcnow().datetime.isoformat()
要进入 Python 解释器内部,请调用不带参数的python3
命令:
$ python3
Python 3.7.0 (default, Aug 22 2018, 15:22:33)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
验证 Python 解释器是否为 Python 3.7 或更高版本。根据您的操作系统和安装选项,可能需要呼叫python
或python3.7
。请参见第 1 章让我们开始我们的自动化之旅特别是创建虚拟环境配方,了解有关不同 Python 解释器使用的更多详细信息。
粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“转到 Account | Extras | API 密钥并创建一个新密钥:”
Warnings or important notes appear like this. Tips and tricks appear like this.
在这本书中,你会发现几个经常出现的标题(准备就绪、如何做……、如何工作……、还有更多……、另见。
本节告诉您配方中的预期内容,并介绍如何设置配方所需的任何软件或任何初步设置。
本节包含遵循配方所需的步骤。
本节通常包括对上一节中发生的情况的详细解释。
本节包含有关配方的附加信息,以使您更了解配方。
本节提供了有关配方的其他有用信息的有用链接。
我们欢迎读者的反馈。
一般反馈:如果您对本书的任何方面有疑问,请发送电子邮件至customercare@packtpub.com
。
勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packt.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,并输入详细信息。
盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packt.com
与我们联系,并提供该材料的链接。
如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com。
请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。
有关 Packt 的更多信息,请访问Packt.com。