Python网络爬虫案例实战:Python平台
Python软件概述
Python是一种计算机程序设计语言,是一种面向对象的动态类型语言,其自身具有独立的特点,主要表现为:
● 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题而不是去搞明白语言本身。
● 易学:Python极其容易上手,因为Python有极其简单的说明文档。
● 速度快:Python 的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。
● 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
● 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
在Windows系统中搭建Python环境
Windows系统并非都默认安装了Python,因此你可能需要下载并安装它,再下载并安装一个文本编辑器。安装Python下载并安装Python 3.6.5(注意选择正确的操作系统)。
完成Python后,再到PowerShell中输入python,看到进入终端的命令提示则代表phthon安装成功。安装成功后的界面如图2-5所示。
为了编程方便,需要安装Greany程序,首先下载Windows Greany安装程序,可访问httt://geany.org/,单击Download下的Releases,找到安装程序geany-1.25_setup.exe或类似的文件。下载安装程序后,运行它并接受所有的默认设置。
现在选择菜单“生成|设置生成命令”,将看到文字Compile和Execute,它们旁边都有一个命令。默认情况下,这两个命令都是python(全部小写),但Geany不知道这个命令位于系统的什么地方。需要添加启动张端会话时使用的路径。在编译命令和执行中,添加命令python所在的驱动器和文件夹。
使用pip安装第三方库
pip是Python安装各种第三方库(package)的工具。
对于第三方库不太理解的读者,可以将库理解为供用户调用的代码组合。在安装某个库后,可以直接调用其中的功能,使得我们不用一个代码一个代码地实现某个功能。这就像你需要为计算机杀毒时会选择下载一个杀毒软件一样,而不是自己写一个杀毒软件,直接使用杀毒软件中的杀毒功能来杀毒就可以了。这个比方中的杀毒软件就像是第三方库,杀毒功能就是第三方库中可以实现的功能。
下面例子中,将介绍如何用pip安装第三方库bs4,它可以使用其中的BeautifulSoup解析网页。打开cmd.exe,在Windows中为cmd,在Mac中为terminal。在Windows中,cmd命令是提示符,输入一些命令后,cmd.exe可以执行对系统的管理。单击“开始”按钮,在“搜索程序和文件”文本框中输入cmd后按回车键,系统会打开命令提示符窗口,如图2-9所示。在Mac中,可以直接在“应用程序”中打开terminal程序。
条件语句与循环语句
条件语句
条件语句可以使得当满足条件的时候才执行某部分代码。条件为布尔值,也就是只有True和False两个值。当if判断条件成立时才执行后面的语句;当条件不成立的时候,执行else后面的语句。
在Python中,条件语句的语法格式为:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。其语法格式为:
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
循环语句
Python中的循环语句有for和while,下面给予介绍。
-
while循环
Python中while语句的一般形式:
while 判断条件:
语句
同样需要注意冒号和缩进。另外,在Python中没有do…while循环。 -
for循环
Python的 for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for in :
else:
面向对象编程
面向对象技术简介
面向对象技术主要有:
● 类(Class):用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
● 方法:类中定义的函数。
● 类变量:类变量在整个实例化的对象中是公用的,类变量定义在类中且在函数体之外,类变量通常不作为实例变量使用。
● 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
● 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
● 局部变量:定义在方法中的变量,只作用于当前实例的类。
● 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
● 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
● 实例化:创建一个类的实例,类的具体对象。
● 对象:通过类定义的数据结构实例,对象包括两个数据成员(类变量和实例变量)和方法。
类定义
类定