近期因为项目原因,需要搞搞爬虫了,那么我就随大流,选择python了。不过我自己也是python新手,所以边学边用了。
首先给自己科普一下python如何安装,然后记录一些python的基础知识,版本管理之类的问题,然后根据学习进度,一步一步记录工作进展。
整个项目使用爬虫爬取某些网站内容,然后进行分析,最后得出一些分析结果。
安装python
目前我使用mac系统,那么我主要针对mac作说明。
选择版本
python的版本问题,对于我这样的初学者看来简直就是神经病一样的存在。不过,也只能逆来顺受了。
首先,我也不知道我以后用什么版本,真的不知道。那么我的办法很简单,都装。系统已经预装了python的2.6版本,那么经过搜索,我找到了pyenv这个大杀器。
pyenv
官方github主页介绍:
This project was forked from rbenv and ruby-build, and modified for Python.
看到rbenv,心里逐渐感到一丝暖意,好歹我也学过ruby啊。脑补一下,好像大概知道了一些。不过还是做下笔记吧。简单来说,它的功能就是然你可以装多个版本的python,使用的时候,想用哪个用哪个。
功能
其功能为(懒得翻译了,实在看不懂的话,这里还有一个小杀器):
- Let you change the global Python version on a per-user basis.
- Provide support for per-project Python versions.
- Allow you to override the Python version with an environment variable.
- Search commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox.
原理
其原理其实就是修改系统环境变量PATH。pyenv在PATH前面插入:
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
那么在你知性python相关命令的时候,因为系统寻找命令是从左到右查看PATH,他就会首先看到你插入的东西。这样,pyenv就可以通过控制shims目录中的python版本。
安装
$ brew install pyenv
然后修改环境变量,在bashrc或者zshrc中添加:
$ eval "$(pyenv init -)"
然后使其生效:
$ source ~/.zshrc
或者
$ source ~/.bashrc
使用介绍
第一步,先看看帮助:
$ pyenv -h
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme
下一步,看看能装什么:
pyenv install --list
会出现一大堆东西。
想要安装某个版本:
$ pyenv install 3.6.0
$ pyenv install 2.7.13
再看看装了什么:
$ pyenv versions
* system (set by /Users/me/.pyenv/version)
2.7.13
3.6.0
总体来说,我觉得用新的版本比较好,不然为什么要有新的,那么我可以修改全局版本:
$ pyenv global 3.6.0
再看看效果:
$ pyenv versions
system
2.7.13
* 3.6.0 (set by /Users/me/.pyenv/version)
可以看出,星号变了位置,说明现在版本是3.6.0。
那如果有一天,一个项目我需要用2.7.13,但是我不想修改全局呢,那么可以修改当前目录版本:
$ pyenv local 2.7.13
可以这样查看当前版本:
$ pyenv version
2.7.14 (set by /Users/me/.pyenv/version)
注意当前目录会有一个“.python-version”文件,指定当前目录的版本。
pyenv-virtualenv
我不知道具体有啥好处,不过pyenv主页上挂出来了,看着好像不错,我就现装了。
$ brew install pyenv-virtualenv
然后修改环境变量,在bashrc或者zshrc中添加:
$ eval "$(pyenv virtualenv-init -)"
其他看官方文档吧,我理解不够,写多了怕错。
安装需要的库
既然是爬虫,那先选一个容易上手的尝尝鲜,能力不够,先喝汤。安装Beautiful Soup
怎么安装呢:
pip install beautifulsoup4
安装完成,很简单吧。
至于pip是什么呢?简单地说,就是一个python包管理器。