標題 | 詳情 |
---|---|
作者簡介 | 愚公搬代碼 |
頭銜 | 華為云特約編輯,華為云云享專家,華為開發者專家,華為產品云測專家,CSDN博客專家,CSDN商業化專家,阿里云專家博主,阿里云簽約作者,騰訊云優秀博主,騰訊云內容共創官,掘金優秀博主,亞馬遜技領云博主,51CTO博客專家等。 |
近期榮譽 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年華為云十佳博主,2023年華為云十佳博主,2024年華為云十佳博主等。 |
博客內容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鴻蒙、Linux、物聯網、網絡安全、大數據、人工智能、U3D游戲、小程序等相關領域知識。 |
歡迎 | ??點贊、?評論、?收藏 |
文章目錄
- ??前言
- ??一、文件的存取
- ??1.?? Python文件操作詳解:TXT文件存儲與讀取
- ??1.1 文件存儲基礎
- ??1.1.1 open()函數核心參數
- ??1.1.2 文件模式詳解
- ??1.2 實戰存儲示例
- ??1.3 文件讀取技術
- ??1.3.1 讀取指定字符
- ??1.3.2 指針定位讀取
- ??1.3.3 逐行讀取
- ??1.3.4 批量讀取所有行
- ??1.4 關鍵注意事項
- ??1.5 性能對比測試
- ??1.6 擴展應用:CSV交互
- ??2.?? Pandas數據存儲指南:CSV與Excel文件操作詳解
- ??2.1 CSV文件存儲技術
- ??2.1.1 核心方法:`DataFrame.to_csv()`
- ??2.1.2 參數速查表
- ??2.1.3 實戰示例
- ??2.1.4 文件輸出對比
- ??2.2 Excel文件存儲技術
- ??2.2.1 核心方法:`DataFrame.to_excel()`
- ??2.2.2 參數速查表
- ??2.2.3 實戰示例
- ??2.2.4 Excel文件輸出效果
- ??2.3 格式控制技巧
- ??2.3.1 浮點數精度控制
- ??2.3.2 中文編碼處理
- ??2.3.3 多工作表操作
- ??2.4 常見問題解決方案
- ??2.5 格式對比與選擇建議
??前言
在網絡爬蟲的開發過程中,數據的存取是一個至關重要的環節。無論是從網頁抓取來的文本、圖片,還是其他格式的數據,如何高效、準確地存儲和讀取這些信息,直接關系到爬蟲的性能和后續數據分析的效果。在《Python網絡爬蟲從入門到精通》的第037篇文章中,我們將深入探討文件的存取方法,幫助你在爬蟲項目中靈活運用這些技巧。
本篇文章將涵蓋文件的基本讀寫操作,包括如何使用Python的內置函數以及流行的第三方庫來處理各類文件格式,如文本文件、CSV文件和JSON文件等。通過具體的實例,我們將演示如何將抓取的數據有效地保存到文件中,以及如何從文件中讀取數據進行進一步處理。這些技能不僅能提升你在爬蟲項目中的開發效率,還能幫助你更好地管理和利用數據。
??一、文件的存取
??1.?? Python文件操作詳解:TXT文件存儲與讀取
??1.1 文件存儲基礎
??1.1.1 open()函數核心參數
file = open(filename, mode='r', buffering=-1)
參數 | 說明 | 常用值 |
---|---|---|
filename | 文件路徑(相對/絕對) | “data.txt” |
mode | 文件訪問模式 | r/w/a/r+/rb等 |
buffering | 緩沖策略(0=無緩沖,1=行緩沖,>1=緩沖區大小) | 默認系統緩沖設置 |
??1.1.2 文件模式詳解
模式 | 說明 | 適用場景 |
---|---|---|
r | 只讀模式(默認) | 讀取現有文件 |
w | 寫入模式(覆蓋原有內容) | 創建新文件/清空重寫 |
a | 追加模式(在文件末尾添加) | 日志文件記錄 |
r+ | 讀寫模式(指針在開頭) | 需要同時讀寫操作 |
rb | 二進制只讀 | 處理非文本文件 |
wb | 二進制寫入 | 保存圖片/視頻 |
??1.2 實戰存儲示例
import requests # 導入網絡請求模塊
from bs4 import BeautifulSoup # html解析庫url = 'http://quotes.toscrape.com/tag/inspirational/' # 定義請求地址
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
response = requests.get(url,headers) # 發送網絡請求
if response.status_code==200: # 如果請求成功#創建一個BeautifulSoup對象,獲取頁面正文soup = BeautifulSoup(response.text, features="lxml")text_all = soup.find_all('span',class_='text') # 獲取所有顯示勵志名句的span標簽txt_file = open('data.txt','w',encoding='utf-8') # 創建open對象for i,value in enumerate(text_all): # 循環遍歷爬取內容txt_file.write(str(i)+value.text+'\n') # 寫入每條爬取的勵志名句并在結尾換行txt_file.close() # 關閉文件操作
輸出文件示例:
??1.3 文件讀取技術
??1.3.1 讀取指定字符
with open('message.txt', 'r', encoding='utf-8') as f:content = f.read(9) # 讀取前9個字符
print(cont