编程it互联网android菜鸟低调修行纪念册数据-R语言-图表-决策-Linux-Python

一个 Pythoner的 Awesome List

2016-12-10  本文已影响848人  无与童比

从大三接触 Python 到现在几乎已经有两年的接触经验了,除去中间有一年左右接私活写写 Android 和 Lamp 之外,有 Python 实际项目开发经验也算是 9 个多月,也稍微算得上是一个入门级别的 Python 程序员了。

网上不乏一些不错的 Awesome list, 但是说实话,这种类型的清单某些程度上不就相当于推荐自己没有看过的书单?

而我对自己的 Awesome List 是有要求的。

我觉得这样的 Awesome List 比起那些涵盖各个方面的集合要好很多。

0x01. Python 库

我平时的开发以爬虫为主,Django 框架为辅,偶尔写写 Flask.

1.1. 爬虫类

爬虫其实也并不是很需要技术水平的东西,对于小规模的爬虫,获取 - 解析 - 分析 - 入库即可。

只是抓取情景变化了之后,需要做的事情就是把各个模块解耦,甚至流程也在某种程度上发生了变化,变成了获取 - 入原始网页库 - 分析 - 入中间数据库 - 再获取 - 分析 - 入关系数据库。

在这个过程中,Python 中有很多很方便的库可以使用。

爬虫框架

当然,即便如此,也并不代表不需要编写定制自己的爬虫。

Scrapy 就像大神给你的组装机,是个通用型爬虫,抓取一些简单的网站很好,对付一些比较复杂反爬虫机制比较强的网站,用起来总是束手束脚的,感觉还是需要自己动手组合各个模块进行抓取的。

我是觉得 Scrapy 这种异步的程序调试起来是很费事情的,如果我的想法有错误的话,还请不吝赐教。

所以,下面是我在抓取解析分析入库这个流程中用到的工具第三方库:

爬虫分析网站常用:

爬虫获取常用:

爬虫解析常用:

数据库驱动

数据清洗与入库

数据提取与可视化

爬虫的部署与监控:

1.2. 网站开发类

由于并非专注开发 Flask 程序,所以不推荐 Flask 相关资源。

1.3. 其他 Python 库

命令行工具:

小工具:

0x02. 网站 / 订阅

对于网站与订阅,求精不求多。

个人比较看东西找书或者是找代码的时候有两个习惯:

0x03. 书单

其实程序员的阅读量并不完全在纸质书上,主要在各种技术文章上,在各种官网的 Tutorial,Guide,API, 和 Source Code 上面,但是有一些书籍多读几遍还是很有帮助的。

0x04. 进阶源码单

书单是进阶的读者推荐给入门读者的读物。
源码单是进阶的程序员推荐给入门读者的读物。

下面是董明伟推荐的两个源码单:

初级 Pythoner 源码单

  1. kennethreitz/pip-pop: Tools for managing requirements files.
  2. kennethreitz/envoy: Python Subprocesses for Humans™.
  3. kennethreitz/records: SQL for Humans™
  4. mitsuhiko/pluginbase: A simple but flexible plugin system for Python.
  5. mitsuhiko/pipsi: pip script installer
  6. mitsuhiko/unp: Unpacks things.
  7. chrisallenlane/cheat
  8. jek/blinker: A fast Python in-process signal/event dispatching system.
  9. mitsuhiko/platter: A useful helper for wheel deployments.
  10. kennethreitz/tablib: Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.

进阶 Pythoner 源码单

  1. faif/python-patterns 使用 Python 实现一些设计模式的例子。
  2. pallets/werkzeug flask 的 WSGI 工具集。其中包含了实现非常好的 LocalProxy,cached_property,import_string,find_modules,TypeConversionDict 等。
  3. bottlepy/bottle 阅读一个 Web 框架对 Web 开发就会有更深刻的理解,flask 太大,bottle 就 4k 多行,当然如果你有毅力和兴趣直接看 flask 是最好了的。
  4. msiemens/tinydb 了解用 Python 实现数据库。
  5. coleifer/peewee 了解 ORM 的实现。
  6. pallets/click click 已经内置于在 flask 0.11 里,提供命令行功能,值得阅读。

以及一个非常神奇的进阶项目 500lines
https://github.com/aosabook/500lines

0xEE. 结论

这就是我,一个 Python 爬虫工程师常用的以及现在主要在学习的关于 Python 方面的 Awesome List. 整理出来分享给大家。

本文不定期更新

生命苦短,我用 Python

上一篇 下一篇

猜你喜欢

热点阅读