大家好,我是你們的可愛丸,
歡迎大家再次來到可愛丸的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相關的學習乾貨!