大家好,我是你们的可爱丸,
欢迎大家再次来到可爱丸的python课堂。
大家都知道,python爬虫的功能十分强大,
通过爬虫的我们可以获取到网络上海量的数据。
但是只会获取数据可不行,
将那些有价值的数据保存起来也是我们做爬虫的关键一步。
那么今天我就带着大家来学习
如何将python爬虫爬取到的数据保存为txt文本文件。
在学习之前,我们先来了解一下几种打开文件的方式。
读写方式 | 可否读写 | 若文件不存在 | 写入方式 |
---|---|---|---|
w | 写入 | 创建 | 覆盖写入 |
w+ | 读取+写入 | 创建 | 覆盖写入 |
a | 写入 | 创建 | 附加写入 |
a+ | 读取+写入 | 创建 | 附加写入 |
r | 读取 | 报错 | 不可写入 |
r+ | 读取+写入 | 报错 | 覆盖写入 |
通过以上表格我们可以知道,打开文件的方式有很多种,例如“w”
仅仅只有写入的功能,而“w+”
不仅有写入的功能,还有读取的功能。在存储文件时,我们可以根据自己的需要来选择自己想要的读写文件方式。
简单了解了文件读写的方式,接下来我们就可以编写代码实现我们想要的存储功能啦,假设data
是我们通过爬虫获取到的数据,那么我们可以这样将数据保存到txt文本文件中:
data = '我要跟可爱丸学python'
with open('爬到的数据.txt', 'w', encoding='utf-8') as f:
f.write(data)
f.close()
在以上代码中,with open() 的括号内有三个参数:
- 第一个是用来指定文件存储的地址,如果地址是相对路径,那么存储的文件就会保存在编写这个代码的python文件的同级目录下。
- 第二个是规定文件读写的方式,我们可以根据需求选择是覆盖写入还是附加写入
- 第三个是指定文件的编码方式,当数据写入出现乱码时,我们可以通过修改第三个参数来改变数据的编码方式,从而解决乱码问题。
as f
就是把文件存储的这个功能,即: 这一串代码重命名为f
,这样方便我们后续的代码使用。(代码简洁一些才能更方便我们阅读)
最后就是将数据写入文件,接着关闭文件。
如果我们获取到的 数据是列表的形式,并且不止一项数据, 那我们就应该先遍历再存储数据,同时值得注意的是,我们的写入方法应该选择a+
附加写入的形式,因为如果用w
或者w+
这种覆盖写入的形式,后一行写入的数据就会覆盖前一行的数据,最后txt文本文件中的数据就只有最后一行。代码如下:
data2 = ['可爱丸写的教程真的是太详细了',
'可爱丸的公众号是:可爱丸学python',
'关注她的公众号并在后台回复:源码 就可以获得所有教程的源代码了',
'自从关注了她妈妈再也不用担心我的学习']
with open('爬到的数据.txt', 'a+', encoding='utf-8') as f:
for data in data2:
# 添加‘\n’用于换行
f.write(data+'\n')
f.close()
怎么样,用python将数据保存到txt文本中的方法是不是超级简单呢?大家赶紧动手尝试一下,将你想要的数据都保存起来吧!
如果你觉得本期教程对你有帮助的话,那么记得关注我,给我点个赞哦!我是可爱丸,我将持续和大家分享python相关的学习干货!