我将这些文章分为 10 类——顺便一提,这也恰好反映出 Python 的多用途、多目标的性质。
这些类别如下:
Python 常规编程
Python 性能优化
Python 开发环境及 DevOps
机器学习
图像与视频处理
聊天机器人与自然语言处理(NLP)
区块链
Web 与后端开发
Web 爬虫
数据可视化
在你正式开始阅读之前,我还要再啰嗦一句:你应该怎样利用这篇文章呢?你并不需要一口气将本文读完。你只需收藏本文,然后将其作为入门教程或参考手册。有了上面的分类,你可以直接跳到你最感兴趣的部分。
如果我这篇文章有任何的遗漏,或是你有其他好的资源推荐,欢迎留言,以便于我升级本文内容。在此谢过了!
1. Python 常规编程
1.1 学习 Python:从入门到精通,作者 TK
此文是一个全面的 Python 介绍。如果你初学 Python,那么这篇文章是必读的。文章介绍了 Python 的基础知识:变量、控制流、循环及迭代、集合类、数组、结构体、字典等等。此文也涵盖了面向对象编程的基础。因此,如果你刚刚开始学习 Python 开发,那么从此文开始读起是最合适的。
Learning Python: From Zero to Hero
https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567
1.2 理解 Python 中的下划线( _ ),作者 mingrammer
你是否了解 Python 中下划线 ( _ ) 的特殊含义呢?Python 中的下划线有五种不同用法。阅读这篇文章学习一下吧!
Understanding the underscore( _ ) of Python
https://hackernoon.com/understanding-the-underscore-of-python-309d1a029edc
1.3 Python3.7 数据类(data classes)简介,作者 Anthony Shaw
数据类(data classes)是 Python3.7 中的一个全新的特性。当需要创建特定数据域的类时,数据类可以大大简化模型。这篇文章为数据类提供了一个通俗易懂的解释,并给出了几个例子。
A brief tour of Python 3.7 data classes
https://hackernoon.com/a-brief-tour-of-python-3-7-data-classes-22ee5e046517
1.4 如何使用 Python3.6 中的静态类型检查,作者 Adam Geitgey
Python3.6 中有声明类型的语法。但是你需要使用外部工具,如 mypy 或 PyCharm,来强制类型检查。这篇文章非常适合入门学习如何在你的代码中实现静态类型。
How to Use Static Type Checking in Python 3.6
https://medium.com/@ageitgey/learn-how-to-use-static-type-checking-in-python-3-6-in-10-minutes-12c86d72677b
1.5 如何及为何使用 Python 生成器,作者 Radu Raicea
该教程展示了一个迭代器类(itertor class)的例子,并讲解了各种不同的生成器函数(generator functions)。
“生成器函数允许你声明一个具有迭代器功能的函数。使用生成器函数,程序员可以快速、便利、简洁地构建迭代器。”
“迭代器指的是可在其上迭代(循环)的对象,其作用是为数据抽象出一个容器,使其表现出与迭代对象类似的功能。你可能在日常开发中已经不知不觉使用了一些迭代对象,如字符串、列表、字典等等。”
How — and why — you should use Python Generators
https://medium.freecodecamp.org/how-and-why-you-should-use-python-generators-f6fb56650888
1.6 Python 线程和进程简介,作者 Brendan Fortuner
这篇文章和接下来的一篇(1.7)讲解了 Python 中的多线程和并行处理的相关知识。这一篇简介了 Python 的有关进程和线程的并行处理特性,下一篇文章介绍了更多高级知识。
Intro to Threads and Processes in Python
https://medium.com/@bfortuner/python-multithreading-vs-multiprocessing-73072ce5600b
1.7 Python 线程同步,作者 Saurabh Chaturvedi
本文很好地概览了多线程及其最复杂部分:线程同步及通信。
Let's Synchronize Threads in Python
https://hackernoon.com/synchronization-primitives-in-python-564f89fee732
1.8 在数据科学领域中如何编写产品级的代码,作者 Venkatesh Pappakrishnan, Ph.D.
本文给出了一些数据科学领域编写产品级别代码的建议。这些建议有助于组织、优化你的代码。文章包含许多主题,包括日志、instrumentation 及测试,介绍了版本控制的基础知识,并就代码可靠性给出了若干建议。文章中的建议很中肯,而且很有实用价值。
How to write a production-level code in Data Science?
https://towardsdatascience.com/how-to-write-a-production-level-code-in-data-science-5d87bd75ced
1.9 如何在 Pandas 中重写 SQL 查询,作者 Irina Truong
如果你刚刚入门 Pandas 和 DataFrames,并对 SQL 理解得比较到位,那么我强烈建议你阅读这篇文章。这篇文章整理了一个珍贵的术语库,并附有样例。文章可以帮助你将 SQL 查询需求转换为 Pandas 语法并学习使用这一新语法。
How to rewrite your SQL queries in Pandas
https://codeburst.io/how-to-rewrite-your-sql-queries-in-pandas-and-more-149d341fc53e
2. Python 性能优化
2.1 是的,Python 很慢,但我不在乎,作者 Nick Humrich
Python 开发者们很高产,但大家应该都听说过这件事:Python 很慢。我觉得这篇文章很有必要一读,因为它介绍了 Python 的性能优化特性。
“运行时间已经不再是你最珍贵的资源了。如今,一家公司最昂贵的资源是其员工的时间。”
Yes, Python is Slow, and I Don't Care
https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1
2.2 Pandas 代码速度优化新手导引,作者 Sofia Heisler
如果你需要用 Pandas 处理海量数据,你便需要格外注意编码方式,以求性能最优化。
本篇及下一篇文章回顾了在 Pandas DataFrame 下实现函数的几种方法,并对比了他们的运行速度。
A Beginner's Guide to Optimizing Pandas Code for Speed
https://engineering.upside.com/a-beginners-guide-to-optimizing-pandas-code-for-speed-c09ef2c6a4d6
2.3 Python 中的数据预处理:我为何偏爱用 Dask 和 Numba 实现并行,作者 Ernest Kim
在 Pandas DataFrame 下实现函数的另外一些方法。这些方法利用并行来获取更快的速度。
Data Pre-Processing in Python: How I learned to love parallelized applies with Dask and Numba
https://towardsdatascience.com/how-i-learned-to-love-parallelized-applies-with-python-pandas-dask-and-numba-f06b0b367138
2.4 Python 中并行 IO 操作的内存效率,作者 Jakub Wolf
本文比较了三种并行 IO 操作方法的内存效率。最新的方法是使用 asyncio 模块。该模块是 Python 3.5 及以上版本的 Python 标准库的一部分。如果你希望你的代码既性能好又内存占用小,那么你很适合读一下这篇文章。
Memory efficiency of parallel IO operations in Python
https://code.kiwi.com/memory-efficiency-of-parallel-io-operations-in-python-6e7d6c51905d
2.5 将 Regex 的运行时间从 5 天降至 15 分钟,作者 Vikash Singh
这篇文章讲解了如何使用 Aho-Corasick 算法和字典树数据结构在海量数据中进行搜索和替换关键字。这种巧妙的操作令我十分惊叹。
Regex was taking 5 days to run. So I built a tool that did it in 15 minutes
https://medium.freecodecamp.org/regex-was-taking-5-days-flashtext-does-it-in-15-minutes-55f04411025f
2.6 在 Instagram 上解除 Python 的垃圾回收,作者 Instagram Engineering
这篇文章展示了多进程 Python 应用的一个高级优化技术。
Dismissing Python Garbage Collection at Instagram
https://engineering.instagram.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172
2.7 使用 Python 处理每秒百万的请求,作者 Paweł Piotr Przeradowski
介绍了一个速度奇快的新型微服务框架:Japronto。
A million requests per second with Python
https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319
3. Python 开发环境及 DevOps
3.1 Windows/Mac/Ubuntu 平台 PyCharm 及 Anaconda 安装教程,作者 Michael Galarnyk
这个教程很适合新手入门。该教程总结了 PyCharm 和 Anaconda 的安装过程,并含有一个十分钟左右的视频,向你展示安装的详细步骤。
Install PyCharm and Anaconda (Windows/Mac/Ubuntu)
https://medium.com/@GalarnykMichael/setting-up-pycharm-with-anaconda-plus-installing-packages-windows-mac-db2b158bd8c
3.2 Docker 教程——Python,Redis 及 Nginx 入门,作者 Roman Gaponov
这篇文章讲解了如何在软件开发过程中使用 Docker。对于新手是一个很好的入门教程。
Docker 是一个开源工具,可在软件容器内部自动部署应用。
Docker Tutorial — Getting Started with Python, Redis, and Nginx
https://hackernoon.com/docker-tutorial-getting-started-with-python-redis-and-nginx-81a9d740d091
3.3 如何在 Python 的 Web 应用中编写 Docker 文件,作者 Praveen Durairaj
本文是个非常好的教程,附有示例 Docker 文件——如果你在使用 Docker 开发 Python Web 应用,那么这篇文章值得一看!
How to write Dockerfiles for Python Web Apps
https://blog.hasura.io/how-to-write-dockerfiles-for-python-web-apps-6d173842ae1d
3.4 三分钟入门 PySpark 及 Jupyter Notebook,作者 Charles Bochet
Apache Spark 是一个大型数据处理引擎,可以通过 PySpark 库在 Python 中使用。在大数据和机器学习领域,该库是一个优秀的原型构建工具。这篇文章可作为在 Python 中使用 Spark 的入门教程。
Get Started with PySpark and Jupyter Notebook in 3 Minutes
https://blog.sicara.com/get-started-pyspark-jupyter-guide-tutorial-ae2fe84f594f
3.5 JupyterLab 初探,作者 Brian Ray
对于 Python 程序员来说,Jupyter 是一个必不可少的工具。这篇文章很好地介绍了 Jupyter 的最新版本。
JupyterLab first impressions
https://medium.com/@brianray_7981/jupyterlab-first-impressions-e6d70d8a175d
4. 机器学习
4.1 Python 机器学习最佳实践指南,作者 Conor Dewey
这篇文章采用展示示例代码和视频的形式,讲解了八大机器学习算法:线性回归,逻辑回归,决策树,支持向量机,K 近邻,随机森林,K-Means 聚类及主成分分析。这是我最喜欢的文章之一,初学者必读。
The Hitchhiker's Guide to Machine Learning in Python
https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378
4.2 数学苦手的 AI 学习系列指南,作者 Daniel Jeffries
本系列共 7 篇文章非常精彩(感谢作者 Daniel Jeffries 的贡献!)。只看标题就可以知道:不擅长数学不代表你学不懂人工智能原理!试一试吧——真的很值得一读!
你数学学得很烂。
没关系!我也有你这样的小尴尬,于是我找了一些有用的书籍和网站,帮助你快速学习进步。
Learning AI if You Suck at Math —— Part 1
https://hackernoon.com/learning-ai-if-you-suck-at-math-8bdfb4b79037
Learning AI if You Suck at Math —— Part 2 —— Practical Projects
https://hackernoon.com/learning-ai-if-you-suck-at-math-part-two-practical-projects-47d7a1e4e21f
Learning AI if You Suck at Math —— Part 3 —— Building an AI Dream Machine or Budget Friendly Special
https://hackernoon.com/learning-ai-if-you-suck-at-math-p3-building-an-ai-dream-machine-or-budget-friendly-special-d5a3023140ef
Learning AI if You Suck at Math —— Part 4 —— Tensors Illustrated (with Cats!)
https://hackernoon.com/learning-ai-if-you-suck-at-math-p4-tensors-illustrated-with-cats-27f0002c9b32
Learning AI if You Suck at Math —— Part 5 —— Deep Learning and Convolutional Neural Nets in Plain English
https://hackernoon.com/learning-ai-if-you-suck-at-math-p5-deep-learning-and-convolutional-neural-nets-in-plain-english-cda79679bbe3
Learning AI if You Suck at Math —— Part 6 —— Math Notation Made Easy!
https://hackernoon.com/learning-ai-if-you-suck-at-math-p6-math-notation-made-easy-1277d76a1fe5
Learning AI if You Suck at Math —— Part 7 —— The Magic of Natural Language Processing
https://hackernoon.com/learning-ai-if-you-suck-at-math-p7-the-magic-of-natural-language-processing-f3819a689386
4.3 机器学习从入门到精通:超详细 Kaggle 比赛完成步骤,作者 Oren Dar
参与 Kaggle 比赛是一个提升机器学习技术的绝佳方式。该教程向你展示了如何解决一个 Kaggle 上的机器学习问题,并向比赛提交你的结果。
Machine Learning Zero-to-Hero: Everything you need in order to compete on Kaggle for the first time
https://towardsdatascience.com/machine-learning-zero-to-hero-everything-you-need-in-order-to-compete-on-kaggle-for-the-first-time-18644e701cf1
4.4 TensorFlow 高级 API,作者 Peter Roelants
TensorFlow 1.3 介绍了三种新的高级框架:Estimator,Experiment 和 Dataset。这篇文章讲解了这三种框架,并给出了使用样例。
Higher-Level APIs in TensorFlow
https://medium.com/onfido-tech/higher-level-apis-in-tensorflow-67bfb602e6c0
4.5 部署 TensorFlow 模型,作者 Francesco Zuppichini
这篇教程讲解了如何使用 Flask 和 TensorFlow serving 使你的 TensorFlow 模型可以从 web 上访问。
现在你有一个模型,你希望能从 web 上访问它。实现这一功能的方法有好几种,但最快、最健壮的方法就是使用 TensorFlow serving。
Deploy TensorFlow models
https://towardsdatascience.com/deploy-tensorflow-models-9813b5a705d5
4.6 简洁多样 Python 线性回归,作者 Adi Bronshtein
线性回归是在因变量和一个或多个独立变量之间建立线性关系的方法。它是机器学习领域中应用最广泛的算法之一。
这篇文章讲解了线性回归的数学基础,然后给出了使用 Python Statsmodels 和 Scikit-Learn 库的例子。如果你是一个新手,我强烈建议你阅读这篇文章。
Simple and Multiple Linear Regression in Python
https://towardsdatascience.com/simple-and-multiple-linear-regression-in-python-c928425168f9
4.7 使用降维技术约减维数,作者 Elior Cohen
在这篇文章中,Elior 讲解了三种维数约减方法:主成分分析(PCA),t-SNE 和自编码器。
“我们对于维度约减的需求常常与可视化相关(将维度约减为 2-3 维以供作图),但也不全是这样。有时候我们可能会对性能要求较高,可以忍受一些精度上的牺牲。这样,我们就能将 1,000 维的数据约减到 10 维,从而更快地操作这些数据(比如计算距离)。”
Reducing Dimensionality from Dimensionality Reduction Techniques
https://towardsdatascience.com/reducing-dimensionality-from-dimensionality-reduction-techniques-f658aec24dfe
4.8 Python 中的随机森林,作者 William Koehrsen
这份教程介绍了使用随机森林解决机器学习问题的详细步骤。该文讲解得十分细致,从数据的准备和清洗,到模型的构建和改进,再到最后的结果可视化。十分值得一读。
Random Forest in Python
https://towardsdatascience.com/random-forest-in-python-24d0893d51c0
4.9 一步一步构建 Python 逻辑回归模型,作者 Susan Li
在机器学习领域中,需要学习的概念有很多。其中之一便是逻辑回归。这篇文章提供了一个良好的起点,我已经给我的学员们推荐了好几次了。
“逻辑回归是一种机器学习分类算法,用来预测因变量所属类别的概率。在逻辑回归中,因变量是一个二元变量,其数据值为 1(表示‘是’‘成功’等等)或 0(表示‘否’‘失败’等等)。”
Building A Logistic Regression in Python
https://towardsdatascience.com/building-a-logistic-regression-in-python-step-by-step-becd4d56c9c8
4.10 理解特征工程,作者 Dipanjan Sarkar
该系列教程介绍了特征工程。特征工程是数据科学家最重要的任务之一。特征工程的本质是什么?下面引述了一个经典的解释:
“提出特征是非常困难、耗时的,需要专家级别的知识。‘应用机器学习’本质上就是特征工程。”
——Andrew Ng. 教授
Understanding Feature Engineering (Part 1) —— Continuous Numeric Data
https://towardsdatascience.com/understanding-feature-engineering-part-1-continuous-numeric-data-da4e47099a7b
Understanding Feature Engineering (Part 2) —— Categorical Data
https://towardsdatascience.com/understanding-feature-engineering-part-2-categorical-data-f54324193e63
Understanding Feature Engineering (Part 3) —— Traditional Methods for Text Data
https://towardsdatascience.com/understanding-feature-engineering-part-3-traditional-methods-for-text-data-f6f7d70acd41
Understanding Feature Engineering (Part 4) —— Deep Learning Methods for Text Data
https://towardsdatascience.com/understanding-feature-engineering-part-4-deep-learning-methods-for-text-data-96c44370bbfa
4.11 数据科学家必备的十种机器学习算法,作者 Shashank Gupta
这篇文章展示了十种实用的机器学习算法,解释了其基本概念,并推荐了入门级的 Python 库和介绍教程。
Ten Machine Learning Algorithms You Should Know to Become a Data Scientist
https://towardsdatascience.com/ten-machine-learning-algorithms-you-should-know-to-become-a-data-scientist-8dc93d8ca52e
4.12 机器学习公开课主题 1:用 Pandas 进行探索性数据分析,作者 Yury Kashnitskiy
我爱好知识共享,而 OpenDataScience 的机器学习课程是一个很好的资源。如果你对这个系列感兴趣,你可以从这篇文章的开头找到课程的所有主题。
Open Machine Learning Course. Topic 1. Exploratory Data Analysis with Pandas
https://medium.com/open-machine-learning-course/open-machine-learning-course-topic-1-exploratory-data-analysis-with-pandas-de57880f1a68
4.13 Python 时间序列分析导论,作者 William Koehrsen
本文是很好的时间序列分析的入门文章。文中包含了一个评估 Tesla 和 GM 股价的例子,还用 Facebook Prophet 包构建了一个预测模型。
Time Series Analysis in Python: An Introduction
https://towardsdatascience.com/time-series-analysis-in-python-an-introduction-70d5a5b1d52a
5. 图像与视频处理
5.1 如何用 Python 深度学习实现 iPhone X 的 FaceID,作者 Norman Di Palo
FaceID 的实现算法是苹果公司的专利产品。这篇文章分析了 FaceID 可能的工作原理,并使用 Siamese 卷积网络给出了一个 FaceID 的实现,对概念加以验证。
How I implemented iPhone X's FaceID using Deep Learning in Python
https://towardsdatascience.com/how-i-implemented-iphone-xs-faceid-using-deep-learning-in-python-d5dbaa128e1d
5.2 用 TensorFlow 跟踪千年隼号,作者 Nick Bourdakos
根据这个教程,你可以学到如何使用 TensorFlow 在 COCO 数据集上搭建自己的物体识别引擎。
Tracking the Millennium Falcon with TensorFlow
https://medium.freecodecamp.org/tracking-the-millenium-falcon-with-tensorflow-c8c86419225e
5.3 使用深度学习优化 FIFA 18 图像质量,作者 Chintan Trivedi
近日,人们提出了用深度神经网络换脸的概念。Deepfakes 是这一领域最有名的算法之一。该算法甚至被用于一些主流媒体中。
这篇文章展示了换脸算法如何应用在游戏行业中,并解释了该算法的基本原理。我相信我们从中可以得出这样一个结论:深度学习几乎可以被应用到任何行业 / 领域中。
Using Deep Learning to improve FIFA 18 graphics
https://towardsdatascience.com/using-deep-learning-to-improve-fifa-18-graphics-529ec44ea37e
5.4 Google 计算引擎上的 Keras 深度学习,作者 Cole Murray
我对图像识别的概念很感兴趣。这篇文章采用了“边做边学”的思想,主要讲述了构建以下两个应用的详细步骤:
一个基于 Flask 的 web 应用,与基于 Keras 的图像识别系统相连
一个基于 Google 云存储的图像存储系统
Deep Learning with Keras on Google Compute Engine
https://medium.com/google-cloud/keras-inception-v3-on-google-compute-engine-a54918b0058
5.5 用基于 Keras 和 TensorFlow 的迁移学习和调优构建图像识别系统,分类(几乎)任意物体,作者 Greg Chu
通过使用相似任务的预训练网络,你可以让自己的卷积神经网络训练速度更快。
“众所周知,卷积网络的训练需要消耗大量数据和资源。例如,ImageNet ILSVRC 模型的训练使用了 120 万张图片、多个 GPU,耗时长达 2-3 周。”
How to use transfer learning and fine-tuning in Keras and Tensorflow to build an image recognition system and classify (almost) any object
https://deeplearningsandbox.com/how-to-use-transfer-learning-and-fine-tuning-in-keras-and-tensorflow-to-build-an-image-recognition-94b0b02444f2
6. 聊天机器人与自然语言处理(NLP)
6.1 机器学习与自然语言处理:基于 scikit-learn、Python 和 NLTK 的文本分类,作者 Javed Shaikh
文本分类是自然语言处理中的基本概念之一。这篇教程介绍步骤如下:
准备工具及配置环境
在 jupyter 中载入数据集
从文本文件中抽取特征
运行机器学习算法
参数优化的网格搜索
实用技巧和 NLTK 简介
Machine Learning, NLP: Text Classification using scikit-learn, python and NLTK
https://towardsdatascience.com/machine-learning-nlp-text-classification-using-scikit-learn-python-and-nltk-c52b92a7c73a
6.2 使用神经网络进行文本分类,作者 gk_
这篇文章讲解了文本分类的工作原理,并演示了如何用两层神经网络实现文本分类。
Text Classification using Neural Networks
https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6
6.3 用 TensorFlow 实现上下文聊天机器人,作者 gk_
这篇文章介绍了如何将对话内容定义转换为 TensorFlow 模型,以及如何据此搭建聊天机器人框架。
Contextual Chatbots with Tensorflow
https://chatbotsmagazine.com/contextual-chat-bots-with-tensorflow-4391749d0077
6.4 如何创建并部署 Telegram 机器人,作者 Roman Gaponov
通过学习本教程,你可以自己创建一个简单的基于 Telegram 的聊天机器人,并在 Heroku 上部署这个机器人。
How to Create and Deploy a Telegram Bot?
https://hackernoon.com/how-to-create-and-deploy-a-telegram-bot-2addd8aec6b4
6.5 一周搭建无服务器 Telegram 机器人经验分享,作者 Moses Soh
这是另一个基于 Telegram 的聊天机器人的例子。该文章讲解了如何利用 Zappa 工具将机器人部署到 AWS Lambda 平台上。该任务一周就能完成,听起来很有趣,不是吗?:)
I built a serverless Telegram bot over the weekend. Here's what I learned
https://medium.freecodecamp.org/how-to-build-a-server-less-telegram-bot-227f842f4706
7. 区块链
7.1 动手搭建最小区块链,作者 Gerald Nash ⚡️
该系列文章和接下来的一篇文章(7.2)可以帮助你通过搭建一个区块链了解其工作原理。我一直喜欢通过动手做来学,这也是为什么我尤其喜欢这类文章。
Let's Build the Tiniest Blockchain
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
文章的第二部分:
Let's Make the Tiniest Blockchain Bigger
https://medium.com/crypto-currently/lets-make-the-tiniest-blockchain-bigger-ac360a328f4d
7.2 通过搭建区块链学习其工作原理,作者 Daniel van Flymen
Learn Blockchains by Building One
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46
8. Web 与后端开发
8.1 使用 Python 和 Flask 搭建 web 应用——深入教程,作者 Abhinav Suri
利用 Python 微框架 Flask 创建 Python 全栈应用的优秀教程。
How to use Python and Flask to build a web app — an in-depth tutorial
https://medium.freecodecamp.org/how-to-use-python-and-flask-to-build-a-web-app-an-in-depth-tutorial-437dbfe9f1c6
8.2 使用 Python 构建微服务,作者 Sergio Sola
这篇文章分为 3 部分。作者是一个软件工程师,正在为一个个人项目搭建微服务。小提示:构建个人项目是提升开发技术的绝佳方式!该系列教程内容如下:
搭建微服务的框架:
Building Microservices with Python, Part 1
https://medium.com/@ssola/building-microservices-with-python-part-i-5240a8dcc2fb
在 Docker 中创建微服务的基础设施:
Building Microservices with Python, Part 2
https://medium.com/@ssola/building-microservices-with-python-part-2-9f951199094a
最后同样重要的,构建微服务的商业逻辑:
Building Microservices with Python, Part 3
https://medium.com/@ssola/building-microservices-with-python-part-3-a556a4c4bc00
8.3 Django ElasticSearch 简明教程,作者 Adam Wattis
ElasticSearch 是实现自由文本搜索的一个优秀的工具。通过学习本教程,你可以构建一个 ElasticSearch 服务器,向其上再如数据,并将其与一个基于 Django 的应用连接起来。
ElasticSearch with Django the easy way
https://medium.freecodecamp.org/elasticsearch-with-django-the-easy-way-909375bc16cb
9. Web 爬虫
9.1 使用 Python 和 BeautifulSoup 爬取网站数据,作者 Justin Yek
BeautifulSoup 是一个抽取 HTML 页面数据的有用工具。这篇文章阐述了其工作原理。
How to scrape websites with Python and BeautifulSoup
https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe
9.2 用 Scrapy 构建自己的数据集,作者 Michael Galarnyk
利用 Scrapy,你可以下载网站并使用 CSS 选择器从 HTML 页面中抽取数据。这是 web 爬取的一个成熟的解决方案。这篇文章演示了这种机制是如何工作的,并给出了一个从真实网站中爬取数据的例子。
Using Scrapy to Build your Own Dataset
https://towardsdatascience.com/using-scrapy-to-build-your-own-dataset-64ea2d7d4673
9.3 30 分钟构建网络爬虫,作者 Angelos Chalaris
这篇文章解释了如何使用 Selenium webdriver 和 Geckodriver 来打开一个浏览器窗口并用 Python 控制该窗口。
30-minute Python Web Scraper
https://hackernoon.com/30-minute-python-web-scraper-39d6d038e5da
9.4 使用 Python 在 Medium 上找到并关注有趣的人,作者 Radu Raicea
这篇文章为使用 Python 中的 API 提供了一个很好的例子。我相信作者提出了一个重要问题:在疯狂袭来的信息海洋中选择最有用信息是一个很困难的任务。实际上这也就是我创建这篇文章合集供大家参考的原因。
Medium 平台上有大量内容、诸多用户和堆积如山的文章。当你想要寻找最有趣的用户来与之互动时,你常常会被洪水般的视觉噪声所干扰。
How I used Python to find interesting people to follow on Medium
https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0
10. 数据可视化
10.1 快速简易 Python 数据可视化 5 例(含代码),作者 George Seif
这篇文章给出了一个非常实用的表格,帮助你根据应用场景选择合适的数据可视化方法。随后,文章深入分析了 6 种数据可视化类型,并给出了使用 Python Matplotlib 的例子,实现了以下内容:两种散点图,线图,柱状图,条形图和箱形图。
5 Quick and Easy Data Visualizations in Python with Code
https://towardsdatascience.com/5-quick-and-easy-data-visualizations-in-python-with-code-a2284bae952f
10.2 使用 Bokeh 进行 Python 数据可视化,作者 William Koehrsen
这一系列文章回答了以下问题:“如何为我们的可视化添加交互功能?”该教程使用 Python,带领你体验完全交互的例子,即 Bokeh 交互可视化库,并附有公共数据集。
Data Visualization with Bokeh in Python, Part I: Getting Started
https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-one-getting-started-a11655a467d4
Data Visualization with Bokeh in Python, Part II: Interactions
https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-ii-interactions-a4cf994e2512
Data Visualization with Bokeh in Python, Part III: Making a Complete Dashboard
https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-iii-a-complete-dashboard-dc6a86aa6e23