Python 是什么:

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于 1989年发明,第一个公开发行版发行于 1991 年。「人生苦短,我用 Python」,直到使用了 Python 我才知道原来爬虫可以写得这么简单,节省下来的时光可以用来享受生活呀~


Python 的生态:

  • pip & easy_install:是 Python 的两个著名的包管理工具。
  • virtualenv:在同一计算机中创建多个「隔离」的 Python 运行环境。
  • virtualenvwrapper:是 virtualenv 的扩展管理包,用于更方便管理虚拟环境。


Python 的应用:

  • Flask:Flask 是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask 使用 BSD 授权。


Python 的安装:

以 CentOS 为例,安装 Python 以及相关模块(引用自 yeayee.com):


1、安装最基本的开发工具:

$ yum groupinstall "Development tools"
$ yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel 


2、安装 Python:

$ cd /usr/local/src
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
$ tar -zxvf Python-3.4.3.tgz 
$ cd Python-3.4.3
$ ./configure --prefix=/usr/local/python
$ make && make altinstall 


3、安装 Python 公用库

$ echo "/usr/local/python/lib" >> /etc/ld.so.conf
$ ldconfig 


4、安装 Python 3.4 至 /usr/local/bin/

$ ln -s /usr/local/python/bin/python3.4 /usr/local/bin/python


5、确认是否安装正确

$ /usr/local/python/bin/python3.4 -V
$ python -V


6、安装 easy_install

$ cd /usr/local/src
$ wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.zip
$ unzip setuptools-18.0.1.zip
$ cd setuptools-18.0.1
$ /usr/local/bin/python setup.py install
$ ln -s /usr/local/python/bin/easy_install /usr/local/bin/easy_install


7、安装 pip

$ /usr/local/bin/easy_install pip
$ ln -s /usr/local/python/bin/pip /usr/local/bin/pip 


8、安装 virtualenv(没有用到可先不装)

$ pip install virtualenv
$ ln -s /usr/local/python/bin/virtualenv /usr/local/bin/virtualenv


9、安装 virtualenvwrapper(没有用到可先不装)

$ pip install virtualenvwrapper


10、配置 virtualenvwrapper 参数设定(没有用到可先不装)

$ vim ~/.bashrc

if [ -f /usr/local/python/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/python/bin/virtualenvwrapper.sh
fi


定时执行 Python 爬虫代码:

首先了解 Linux 自带的定时任务 crontab:

# crontab 命令格式:
* * * * * command
M H D m d command


编译 crontab 文件:

$ crontab -e 


所以为了让爬虫每隔一分钟爬一次数据,我可以这么设置:

* * * * * python /usr/share/nginx/html/python/test.py


PS:为了确保命令无误,你可以先执行这段代码 python /usr/share/nginx/html/python/test.py 看看有无报错。 通过 tail -f /var/log/cron 命令可以看到执行纪录。


参考:

man mask