"工具与环境是阻碍程序员工作的第一块拦路石,所以docker是个伟大的产品!" -- by 我自己

在最开始,我觉得我应该说明我这几个commit最后完成的爬虫是干嘛的。其实很简单,我就是去爬京东图书编程语言这个类目中的一些信息。虽然作为示例,我只是爬取了一些信息,但是如果你看完整个一组文章,你可以很方便的扩展到网页上你能看到的任何信息。

在介绍正式内容之前,我得先说一下我都用了那些包。但是我想着既然是入门级别的文章,越少封装越好,所以整个爬虫程序,我没有用任何框架,比如说比较流行的Scrapy之类的。本质上说,python爬虫的一个主要任务就是解析文件,对,HTML文件,json文件,这玩意儿要不用个库的话,那就真是要造轮子了。所以,我选择了BeautifulSoup这个库,好用还简单。说真的,第一次看到这个库的名字的时候我觉得作者是不是在喝汤的时候忽然想到我TM要写个解析格式化文件的库,不过程序员起名字常常都自带一种神经病的气质,美味的汤,算是贴近生活了吧。

由于我是使用的Linux系统,所以我只要运用pip3来安装这个库就好了。如果你不知道pip3的话,不用感到紧张和不好意思之类的,你就理解他是一个协助你安装python包的一个工具。只要你搜索一下pip3或者pip,很容易就能安装和使用他。这就是我喜欢Linux系统的一个重要原因,安装这种事情特别的省心。整个过程就一句话:

sudo pip3 install beautifulsoup4

在安装完成之后,运行python3进入命令行,输入from bs4 import BeautifulSoup,没有报错的话,那么恭喜你,你已经成功了。

至于windows系统的话,就比较复杂了,我大概搜索了下,比较靠谱的应该是这篇文章。本来我想写在这里的,因为毕竟链接多了也没有人愿意点了,但是windows上安装步骤实在是太复杂了,我还是战胜不了自己放弃了。

说好了使用的库,我想说的另外一个东西和代码本身无关,没有这个玩意儿你也能运行文章里面所有的代码,只要你安装好了BeautifulSoup库,但是,我是十分推荐想在python这方面做开发的初学者都学习一下。说了这么多,其实我想说的是virtualenv,如果你知道这个概念,那么很明显,你已经不是一个只看过python语法的人了。如果不知道,其实也没啥,使用这个好处,就是每个项目你都能有一个独立而又可以复用的环境,比如我传到github上的代码,你会发现在你使用"source bin/activate"之后,你不需要再去安装beautifulsoup包了。而且如果你有另外一个项目,你是想用python2 而不是python3,那么很简单的就可以在环境内切换而不会污染环境。

在Linux上,同样可以使用简单的sudo pip3 install virtualenv完成安装,在完成安装之后,在建立好的项目文件夹中,输入命令virtualenv --no-site-packages xxx,最后是文件夹就是vituralenv里面执行程序的路径。当然,我是比较喜欢把python代码文件放在和virtualenv的bin目录同一级,不过这都是个人喜好问题。

有了这个虚拟文件之后,你就可以在这个环境中随意的安装任何你需要的包而不用担心会影响其他的或者全局的python环境。这玩意儿就和容器技术一样,隔离并且很容易scale。如果你想退出当前环境,只要使用deactivate就可以了。如果你想快速而又比较全面的了解virtualenv的知识,强烈推荐廖雪峰老师的这一篇文章

最后,说一句话,因为我相信还是会有人觉得上面太长,不管怎么样,大部分都是想跑跑看看,虽然我强烈建议你不要。先github上的代码在clone到本地以后,进入到代码所在的文件夹,对于每一个commit,在安装了pip3的情况下(我觉得我还是严谨的)执行以下三个命令就可以运行:

  1. sudo pip3 install virtualenv
  2. source bin/activate
  3. python3 myGAND.py

results matching ""

    No results matching ""