Day 05 文字處理和爬蟲基礎1

2022-08-18 11:15:11 字數 3763 閱讀 2770

目錄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 ...