这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~
好啦,正式开始我们的第三节课《爬虫必备Python知识》吧!啦啦哩啦啦,都看黑板~
1. 字符串(string)
1.1 输入字符串
编写字符串时,既可以用单引号( ' )也可以用双引号( " ):


1.2 访问字符串中的值
Python访问子字符串,可以使用方括号来截取字符串,如下实例:

以上实例执行结果:

1.3 字符串的修改
Python中已存在的字符串本身不可以改变:

报错:

但可以对已存在的字符串进行修改,然后赋值给另一个变量:

以上实例执行结果:

1.4 Python对象转为字符串
许多Python对象都可以用str函数转换为字符串:

以上实例执行结果:

1.5 字符串当做序列类型处理
由于字符串其实是一串字符序列,因此可以被当做某种序列类型(如列表、元组等)进行处理:

以上实例执行结果:

1.6 Python转义字符
当需要在字符中使用特殊字符时,Python用反斜杠()转义字符,如下表:

1.7 字符串运算符
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

1.8 字符串常用方法

2. 元组(tuple)
2.1 元组的创建
元组(tuple)是一种一维的、定长的、不可变的Python对象序列。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可:

创建空元组:

元组中只包含一个元素时,需要在元素后面添加逗号:

通过调用tuple,任何序列或迭代器都可以被转化为元组:

结果为:

2.2 访问元组
元组可以使用下标索引来访问元组中的值,如下实例:

以上实例输出结果:

2.3 修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

结果为:

2.4 元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

2.5 元组索引与截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:


2.6 元组内置函数

3. 列表(list)
3.1 列表的创建
跟元组相比,列表(list)是变长的,而且其内容也是可以修改的。它可以通过方括号([ ])或者list函数进行定义:

结果为:

对已经定义的列表中的内容进行修改:

结果为:

3.2 访问列表中的值
使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,如下所示:

结果为:

3.3 更新列表
可以对列表的数据项进行修改或更新,也可以使用append()方法来添加列表项,如下所示:

结果为:

3.4 删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:

结果为:

3.5 判断列表中是否存在某个值
通过 in 关键字,可以判断列表中是否含有某个值:

结果为:

3.6 列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

3.7 列表截取
Python的列表截取与字符串操作类型,如下所示:


3.8 列表内置函数&方法

4. 字典(dict)
4.1 字典的创建
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号( : )分割,每个对之间用逗号( , )分割,整个字典包括在花括号( {} )中 ,格式如下所示:

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。
一个简单的字典实例:

也可如此创建字典:

4.2 访问字典里的值
把相应的键放入方括弧,如下实例:

以上实例输出结果:

如果用字典里没有的键访问数据,会输出错误如下:

以上实例输出结果:

4.3 修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

以上实例输出结果:

4.4 删除字典元素
del 能删单一的元素也能删除字典,clear 可以清空字典。del删除字典和clear清空字典的区别在于,前者是将字典整个删除了,字典不复存在,而后者是清空字典中的内容,留下了一个“空壳子”。

4.5 字典内置函数&方法

5. 条件控制
5.1 条件控制流程
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:

5.2 if 语句
Python中if语句的一般形式如下所示:

- 如果"condition_1"为True,将执行 "statement_block_1"块语句
- 如果"condition_1"为False,将判断 "condition_2"
- 如果"condition_2"为True,将执行 "statement_block_2"块语句
-
如果"condition_2"为False,将执行"statement_block_3"块语句
注意:
1.每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3.在Python中没有switch – case语句。
举一个 if 实例:
执行程序,输入狗狗的年龄:
程序运行结果:
输入enter后退出程序。
5.3 常用操作运算符

5.4 if 嵌套
在嵌套 if 语句中,可以把 if...elif...else结构放在另外一个 if...elif...else 结构中。

举一个 if 嵌套实例:

输入语句及结果如下:

6. 循环语句
6.1 循环语句流程
Python中的循环语句有 for 和 while。Python循环语句的控制结构图如下所示:

6.2 while 循环
Python中while语句的一般形式:

同样需要注意冒号和缩进。以下实例使用了 while 来计算 1 到 100 的总和:

执行结果如下:

while 循环使用 else 语句:

执行以上脚本,输出结果如下:

6.3 for 语句
for 循环的一般格式如下:

for 实例中使用 break 语句,break 语句用于跳出当前循环体:

结果如下:

除了在 for 和 while 的循环体中使用 break 语句来跳出循环,我们还可以使用 continue 语句,continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
代码块如下:

结果如下:

好了,这节课就到这里!

下节预告:Python爬虫入门 | 4 爬取豆瓣TOP250图书信息
完整7节课程目录:
Python爬虫入门 | 1 Python环境的安装
Python爬虫入门 | 2 爬取豆瓣电影信息
Python爬虫入门 | 3 爬虫必备Python知识
Python爬虫入门 | 4 爬取豆瓣TOP250图书信息
Python爬虫入门 | 5 爬取小猪短租租房信息
Python爬虫入门 | 6 将爬回来的数据存到本地
Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
白白~
网友评论