目錄t和b模式
高階應用
文字處理 + 詞云分析
爬蟲原理
requests模組
re模組
爬取爬取文字
檔案是作業系統提供的乙個虛擬概念, 用來儲存資訊
.txt/.word/.md/.py/.xml/.ini 儲存的是文字
找到檔案路徑
開啟檔案
讀取/修改檔案
保持關閉
file_path = r'c:\users\black\documents\python learning\day 05\github.txt'
f = open(file_path) # 把該路徑的檔案讀入記憶體,只是沒有視覺化的介面而已
data = f.read() # 讀取檔案(內容)
r ---> read (唯讀不可寫)
w ---> write (只寫不可讀, 清空文字內容)
file_path = r'c:\users\black\documents\python learning\day 05\github.txt'
f = open(file_path, 'a', encoding = 'gbk') # encoding 告訴計算機用什麼編碼格式翻譯硬碟中的0和1
print('f.readable:', f.readale())
print('f.writable:', f.writable())
f.write('追加寫入')
date = f.read()
print(data)
gbk/utf8只針對文字,所以音訊通過rb模式開啟-->讀取二進位制,b模式下沒有encoding這個引數,b不單獨使用,一般與r/w/a一起配合使用
data = f.read()
t 模式針對文字檔案,t模式不單獨使用,必讀得和r/w/a一起使用
f = open(r'c:\users\black\documents\python learning\day 05\github.txt', 'rt', encoding = 'gbk')
data = f.read()
print(data)
r+ 可寫可讀
a+ 可寫可讀
w+ 可寫可讀(清空檔案)
使用with open在縮排結束後會自動關閉檔案
with open(r'c:\users\black\documents\python learning\day 05\github.txt', 'r+', encoding = 'gbk') as f:
# 這個縮排內部的**都是檔案開啟的狀態
data = f.read
print(data)
import jieba
import wordcloud
import imageio
# 讀取檔案內容
with open(r'c:\users\black\documents\python learning\day 05\github.txt', 'r+', encoding = 'gbk') as f:
data = f.read()
# 使用結巴對檔案內容進行切割
data_list = jieba.lcut(data)
data = ' '.join(data_list)
# 將github logo讀入記憶體
# 使用詞運模組生成詞雲圖
傳送請求 (填入乙個url)
獲取資料
解析資料
儲存資料
import requests
res = requests.get(url= '目標**')
# 文字
res.text
# 二進位製流 凡是二進位製流資料,不需要指定字元編碼
res.content
# re.s 全域性搜尋
data_list = re.findall(正則匹配規則, 解析內容, re.s)
# 貪婪匹配 .*? 過濾任何內容
# 非貪婪匹配 (.*?) 提取內容
# 爬取視覺中國
import requests
# 使用requests.get()傳送請求
response = requests.get(url = '' )
# print(response) 物件
# 接受二進位製流
# print(response.content)
# 儲存資料
# 把二進位制 流資料儲存到本地
# wb: write + bytes 寫二進位製流模式
# 凡是二進位製流資料,不需要指定字元編碼
with open('ergen_video.mp4', 'wb') as f:
f.write(response.content)
# 爬取豆瓣top25電影
# 1.傳送請求
import requests
import re
response = requests.get(url='')
# print(response.text)
# 2.析提取資料
# 查詢所有
# re.s 全域性查詢
# re.findall('正則匹配規則', '解析文字', re.s)
movie_list = re.findall('.*?.*?(.*?).*?(.*?).*?(.*?)人評價', response.text, re.s)
# print(movie_list)
# 迴圈寫入
with open('douban.txt', 'a', encoding='utf-8') as f:
for line in movie_list:
movie_name = line[1]
movie_score = line[2]
movie_num_of_comm = line[3]
movie_website = line[0]
f.write(movie_name + '---' + movie_score + '---' + movie_num_of_comm + '---' + movie_website + '\n')
print('文字爬取成功')
9 文字處理
root localhost cat 選項 檔名 或者 root localhost cat 檔案1 檔案2 檔案3 前者用於顯示檔案的內容 a 相當於 vet 選項的整合,用於列出所有隱藏符號 e 列出每行結尾的回車符 n 對輸出的所有行進行編號 b 同 n 不同,此選項表示只對非空行進行編號。t...
3 文字處理庫
文字處理庫主要是對字串的操作使用,以及對文字內容方面進行處理。3.1 string 公共的字串操作 原始碼位置在 lib string.py 3.1.1 字串常量 下面就是在字串模組裡定義的字串常量 string.ascii letters 這個常量包含字母的大寫和小寫,不會隨著本地化而改變。其實它...
6文字處理工具
1 grep命令 i 忽略大小寫 n 顯示結果所在行的行號 c 結果個數 v 反向過濾 r 關鍵字 目錄 在目錄中過濾含有關鍵字的檔案 e 關鍵字1 關鍵字2 過濾多個關鍵字 root localhost cp etc passwd root localhost ls file filegreat ...