![Python网络爬虫实战(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/582/26793582/b_26793582.jpg)
1.2 Python 3.6.4开发环境配置
Python在PC三大主流平台(Windows、Linux和OS X)都可使用。在这里只讲解Windows和Linux下的开发环境配置。Windows平台以Windows 7为例,Linux平台以Debian 8系统为例。Python目前主要有两个版本,Python 2和Python 3。
目前,Python 2的最终版本是Python 2.7.14,Python 3的最终版本是Python 3.6.4。虽然目前Python 2和Python 3的拥趸暂时棋逢对手,但相信Python 3才是未来的方向。所以本书的程序将以Python 3为主。
提示
在Windows系统中,如果同时安装了Python 2和Python 3,这两个程序的名字都是Python.exe,只能以安装目录来区分Python 2和Python 3了。Linux系统还好区分,可以通过程序名来区分。
1.2.1 Windows下安装Python
(1)打开Chrome浏览器,在地址栏输入Python官网地址www.python.org,如图1-1所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P14_410.jpg?sign=1739666937-te4aEiir5DcScmm7RqfFwt0Ofj49KSfR-0-f5819521b288d5d7f5361e3f6cbedb74)
图1-1 Python官网
(2)单击Python 3.6.4,进入Python 3.6.4的下载页面,如图1-2所示。
(3)按照安装的Windows系统选择下载的安装文件。示例系统是Windows 7 64位,适合当前Windows版本的Python安装文件有3个,一个是绿色解压缩版本,一个是正常的安装版本,最后一个是网络安装版本。绿色安装版本需要自行添加环境变量。正常的安装版本安装更简单一些。所以这里下载的是Windows x86-64 executable installer。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P15_431.jpg?sign=1739666937-0LMyglNQNJXKzT3QM6YeieslIAqcTFBu-0-358dee1b7504ff0aa4d41f3949bfa33d)
图1-2 Python下载
(4)下载完毕,得到安装文件python-3.6.4-amd64.exe。以管理员身份运行安装程序,开始安装Python 3.6,如图1-3所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P15_435.jpg?sign=1739666937-Y5II1hjvEGDhVKBbUOIxab0v8Z8vVXlk-0-a5f81793c7dabe485b3dc4be5ca32941)
图1-3 安装Python
(5)单击Customize installation按钮,选择Python安装组件,将全部的组件都选上,如图1-4所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P16_451.jpg?sign=1739666937-KvOuXM2yQxmBnVukbh5fIwRILjzAaItb-0-27e7390613f96760270923769cc5bf7f)
图1-4 选择Python组件
(6)单击Next按钮后,进入Python环境设置界面,如图1-5所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P16_455.jpg?sign=1739666937-STxGnzG7H7Ht2kC5PUx9peRmMNcA0NlR-0-e5d1f47e5d5c33eeb05b48459e02ad8a)
图1-5 Python安装环境
选择Add Python to environment variables,将Python加入系统环境变量中。选择Install for all users,允许所有用户使用Python。修改一个合适的安装目录。单击Install按钮开始安装Python,如图1-6所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P17_469.jpg?sign=1739666937-zcDzOBpf8paJWL2vpvQ5Xw0J0qkXI0NO-0-da04dc825dd761c87d6776b228c0529a)
图1-6 安装Python
(7)单击Close按钮,整个安装程序完毕。验证Python是否安装成功。单击桌面左下角的“开始”菜单,在地址栏输入cmd.exe后按Enter键,打开Windows系统命令行程序,如图1-7所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P17_473.jpg?sign=1739666937-4LOACl2wThNqzpHVKZ53qLU7LRj5hqI1-0-5dd59586199885ad024fdd671941c64e)
图1-7 打开系统命令行工具cmd.exe
(8)执行命令,验证Python,如图1-8所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P18_485.jpg?sign=1739666937-AuZEiovNTPVOcEnSJQxjQEdwN67zZFrQ-0-e2babeec1fdb448a450d24931d5fb7e2)
图1-8 验证Python
由此可见Python已安装成功,并已将路径添加到环境变量。单击桌面左下角的“开始”|“所有程序”菜单,单击Python 3.6文件夹,就可以看到Python的菜单,如图1-9所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P18_489.jpg?sign=1739666937-yojuL1lFfJ1NVpk7pNhA5H9KVYvm3rx6-0-31ca7ac738d66de4e37d00477d28f67b)
图1-9 Python 3.6菜单
提示
在安装Python的同时也安装了Python自带的IDE——IDLE和本地的模块说明文档。这个文档的说明很详细,一般只需要看这个文档就足够了。
至此Python 3已在Windows上安装验证成功,可以愉快地使用Python了。
1.2.2 Windows下安装配置pip
上文中说过,Python有几乎无限的第三方模块。如何安装这些第三方模块呢?这里就不得不说到easy_install和pip了。
easy_install和pip都是Python的模块安装工具,有点类似于Debian系统的apt-get、Fedora系统中的yum或者Windows系统中的QQ软件管理器,都是一键安装软件工具,所不同的是它们只负责安装Python模块。老版本中的Python只有easy_install。pip可以认为是easy_install的高级版本,所以pip和easy_install任选其一即可,建议使用pip。在安装Python时已经选择了pip组件(如图1-5所示),就无须再次安装pip了,直接开始配置即可。
因为pip的服务器安装源在国外,基于国内糟糕的网络环境,使用pip安装Python第三方模块将是一个很痛苦的过程。好在有变通的方法,在国内也有pip的镜像源,只需要在pip的配置文件中将pip的安装源指向国内的服务器,这个问题就解决了。
根据pip的指南,Windows中pip的配置文件是%HOME%/pip/pip.ini(具体到当前环境,本书使用的Windows当前用户是king,那么配置文件位置就是C:\Users\king\pip\pip.ini)。默认情况下pip文件夹和pip.ini文件都未被创建,需要自行创建。按照指南创建好文件夹和文件后,pip.ini文件内容如下:
[global] index-url = https://pypi.mirrors.ustc.edu.cn/simple #index-url = http://pypi.hustunique.com/simple #index.url = http://pypi.douban.com/simple
提示
这里一定是pip.ini文件,而不是pip.ini.txt。在Windows中显示文件后缀名,确认配置文件的文件名。
修改后的结果如图1-10所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P19_535.jpg?sign=1739666937-uWKtcIhl8NR26RIJCM70qxVLUxA5stMc-0-8a678c2197de08be30d5d8321b5f9210)
图1-10 修改pip.ini
图1-10中准备了3个pip源,任选其一即可。选择的方法就是在不需要的源地址前面加上#符号。下面来验证一下修改源地址是否成功,执行命令:
python –m pip install –-upgrade pip
此命令的作用是更新pip源,结果如图1-11所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P20_561.jpg?sign=1739666937-zYudb9KnhcgXVRYQwv5hPajwqZ3ERsqM-0-ad6e3484c81e3bd10fc75b90a3b1d192)
图1-11 更新pip源
可以看出,配置文件中的新源已经起作用了。测试一下pip。单击桌面左下角的“开始”菜单,在地址栏中输入cmd.exe后按Enter键,打开Windows系统命令行程序。执行命令,如图1-12所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P20_572.jpg?sign=1739666937-GKsHrA6dLJKd40drPrUUiW6iNt5SBgdW-0-7e246d91ceb286b231541a115d2da905)
图1-12 测试pip
至此pip已完全配置完毕。
1.2.3 Linux下安装Python
连接到虚拟机pyDebian上。连接工具当然是Putty了(ssh远程连接工具有很多,这里只是选了个顺手的,使用其他的工具连接并不影响结果)。下面,先用Putty连接这个Linux机器。
(1)双击Putty图标,打开Putty.exe,填入IP地址和端口信息,如图1-13所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P21_588.jpg?sign=1739666937-axB2HflbN0kfRLD8ltitS3awii8wGOlF-0-9864ac8e5682333be6ff200edd883733)
图1-13 Putty连接设置
(2)单击Open按钮,第一次使用Putty登录Linux会有一个安全警告提示,如图1-14所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P21_592.jpg?sign=1739666937-s7A9VvdQEo2D2sDZWcbI7JWp8Fe8Tp9Y-0-80dcf8dd3f6cbc9695c11ff3bc63a25d)
图1-14 Putty安全警告
(3)单击“是(Y)”按钮,进入Linux的登录界面(用户名和密码就使用默认的king:qwe123),如图1-15所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P21_602.jpg?sign=1739666937-RiZVUtwvnkCR7cc7cd40O5Ee2kWB8PIy-0-28a0a3b2c2c1a46c3d0caf98583b4b06)
图1-15 登录Linux
(4)输入用户名和用户密码后(用户密码不回显),登录到Linux。
Debian Linux默认安装了Python 2和Python 3(几乎所有的Linux发行版本都默认安装了Python)。Python命令默认指向Python 2.7,验证一下Python的路径,执行命令:
whereis python ls –l /usr/bin/python ls –l /usr/bin/python3
执行的结果如图1-16所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P22_640.jpg?sign=1739666937-hAvPeTo6VYXc9hmU2NHE2JPW53SaGBAh-0-a9ba96a4170a09aaf0e1fbaaa270cffa)
图1-16 查看Python路径
再来看看Python的版本信息,执行命令:
python2 –V python3 -V
执行的结果如图1-17所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P22_657.jpg?sign=1739666937-ZoLAiKF7K5llG6OoCXMHFkR9x2Xw4kVj-0-24ff7da9ace903f36009f02238a38c8a)
图1-17 Python版本信息
从图1-17中可以看出,Linux上安装的Python版本与官网上的最新版本(Python 3.6.4)是不同的。这是正常现象,一般来说Debian Linux会使用软件的最稳定版本,而Ubuntu Linux会使用软件的最新版本。
1.2.4 Linux下安装配置pip
如同Windows中的Python一样,Linux中的Python同样需要一个模块安装的管理工具,既可以是easy_install,也可以是pip。遗憾的是多数Linux版本并没有默认安装这个管理工具(Debian可以使用apt-get安装大部分的Python第三方模块,只有极少数的模块不能使用apt-get安装),所以得自己安装。
从Debian Linux中安装pip,执行命令:
su – apt-get install python3-pip
执行结果如图1-18所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P23_691.jpg?sign=1739666937-hfCBYnp6Ae95LVHhXzhKuPnVUd6ek9Nt-0-1655c96181213f0c8808a6bce963aa72)
图1-18 安装pip
输入su -命令后再输入系统root用户的登录密码。该命令的作用是使用root用户登录系统,并使用root用户的环境变量。apt-get install Python 3-pip的作用是使用apt-get命令安装Python 3-pip这个工具包。最后输入y确认执行命令,开始安装python-pip。
提示
Linux下安装软件都必须有root权限,可以直接转换成root用户安装,也可以在sudoers里添加特权用户和权限。
安装Python 3-pip后,退出root用户环境,查看pip3版本,如图1-19所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P24_707.jpg?sign=1739666937-Uw4yZQQItMGjBK84aDrZJM7ZCzJ2XqF9-0-a5885b4d43c7a23ced508decf89b585d)
图1-19 验证pip
最后还要将pip3的更新源改成国内源。根据pip的指南,在Linux下pip的配置文件是$HOME/.pip/pip.conf,执行命令:
su – cd pwd mkdir .pip cd .pip cat > pip.conf << EOF [global] index-url = https://pypi.mirrors.ustc.edu.cn/simple #index-url = http://pypi.hustunique.com/simple #index-url = http://pypi.douban.com/simple EOF cat pip.conf exit
执行结果如图1-20所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P25_800.jpg?sign=1739666937-gDVdAV5tsV72T2sLQS9D05Qx6mvri8Kx-0-17a921f286a23213818eb6627e449e69)
图1-20 修改pip.conf
提示
一般Windows中的配置文件后缀名为ini,Linux中相应文件的后缀名为conf。
一般用户和root用户都可以使用pip安装模块,这里只修改了root用户目录下的配置文件,也就是说只有root用户在使用pip命令时才会使用国内的pip源。而一般用户并没有修改pip的配置文件,使用的还是pip默认源。
验证一下修改源地址是否成功,执行命令:
su - python3 –m pip install –-upgrade pip exit
结果如图1-21所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P25_824.jpg?sign=1739666937-iIAfnXLIrDJEh931wTEASRmlprWq8NW7-0-bb0c5f77aa698e1168f897060156d093)
图1-21 更新pip源
从图1-21可以看出pip源已经开始起作用了。下下下下面来测试一下pip,如图1-22所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P26_844.jpg?sign=1739666937-op8xMdUWYQwN0K0iMKFLYloBGfdkiaPg-0-537a90b4b34ab8321d9664a0c8d46566)
图1-22 测试pip
到此pip已完全配置完毕。和Windows下的pip不同,Linux下的pip可以使用root安装模块,也可以使用一般用户来安装模块。推荐使用root用户来安装,因为有些模块安装需要root特权,root安装的模块一般用户都可以使用。
1.2.5 永远的hello world
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P26_860.jpg?sign=1739666937-sEoB84ufJ8qGKkA9nOogpDM3FyCEXpQs-0-33b3d766eacf5ae006b754f228ab6ed1)
图1-23 打开IDLE
似乎所有的编程语言第一个程序都是hello world。Python也不能免俗,下面分别从Windows和Linux下创建hello.py。
1. Windows下创建hello.py
(1)单击桌面左下角的“开始”|“所有程序”菜单,单击Python 3.6菜单,单击IDLE (Python GUI)菜单,如图1-23所示。
(2)此时打开的是Python Shell交互界面,再单击File|New File菜单,如图1-24所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P27_874.jpg?sign=1739666937-rRaMfxMsAuVfB5jHGCWQIfi22v71CM5Q-0-946e27d4ffcaa728410ad335f8189a49)
图1-24 打开IDE
(3)用IDLE的IDE打开一个新文件,在此新文件中编辑hello.py,如图1-25所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P27_42687.jpg?sign=1739666937-xwPVcizTEYR6F2moW14wtKH6OIGxDSXa-0-5133046442bbd5c601de602c7f2f0a28)
图1-25 编辑hello.py
(4)单击该IDE的File|Save As …菜单,将已编辑好的代码保存,如图1-26所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P27_894.jpg?sign=1739666937-tgHtHCiiXcTsmjEhaypBL5HEkWLb7oXA-0-03abf803881d8831811f962439358eb8)
图1-26 保存代码
(5)选择保存文件位置。这里选择的是保存到桌面,文件名为hello.py,如图1-27所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P28_913.jpg?sign=1739666937-DSnlnmWzZpG4MaNhadFlug23T6uazNax-0-73e2b83ece2a96e3e5f46330dc806d09)
图1-27 选择文件保存位置
(6)单击“保存”按钮,将hello.py保存到桌面。按住Shift键,同时右击桌面空白处,如图1-28所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P28_917.jpg?sign=1739666937-9Dd2fjZ8jIjiwfnQeord3nlPyYmjVaMO-0-1ffa94d369d0e505a8f7f9d5ab83b1c3)
图1-28 打开Windows命令行工具
(7)单击“在此处打开命令窗口”,打开了命令行工具,执行命令:
python hello.py
执行结果如图1-29所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P29_944.jpg?sign=1739666937-v4yfQxkfK2DpRjD23thM0D85MBYwr0xn-0-b7a65192c3ae18ea436a0d4b25b2e504)
图1-29 执行hello.py
提示
程序的第一行指定Python解释器的位置。在Windows中这一行并没有什么意义,留下这一行是为了兼容Linux。第二行是指定Python程序编码,在Python 3中默认的字符编码就是utf-8,因此这一行也没多大意义,是为了兼容Python 2而保留的。
至此,Windows下的hello.py执行完毕。
2. Linux下创建hello.py
(1)使用Putty连接到Linux,执行命令:
mkdir –pv code/python cd !$ cat > hello.py << EOF #!/usr/bin/env python3 #-*- coding: utf-8 -*- __authon__ = 'hstking hst_king@hotmail.com' if __name__ == '__main__': print("hello world!") print("你好,Python!") EOF
执行结果如图1-30所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P30_1030.jpg?sign=1739666937-XXttjoSCxh0kEx82LnZEBA8t4hYuLDkc-0-70497dc93a24b6320976422638436d29)
图1-30 编辑hello.py
(2)然后在Putty中执行命令:
python hello.py
执行结果如图1-31所示。
![](https://epubservercos.yuewen.com/76ACF2/15253385705230506/epubprivate/OEBPS/Images/Figure-P30_1048.jpg?sign=1739666937-tv2f4ZLnlTibQfumKTjsU60phH5w52bX-0-f84df077feabcc070f6a84a5db67acba)
图1-31 执行hello.py
提示
这是没有使用文本编辑工具编辑文档,用的是cat命令。如果有条件,尽可能地使用文本编辑器,如vi。几乎所有的Linux版本都默认安装了vi文本编辑器。
提示
因为在Windows中只安装了一个Python 3,而在Linux中默认安装了Python 2和Python 3。所以在Windows中运行Python 3的程序只需要执行命令Python program.py就可以了。而在Linux中运行Python 3的程序则需要指明解释器的版本Python 3,因此命令应该为Python 3 program.py。
Linux下的hello.py执行完毕。在Python程序中有中文字符时需要注意,这里的例子能正常显示是因为当前系统默认支持utf-8字符集。如果系统不支持utf-8,就需要将中文字符用encode转换成系统可识别的字符集。