python爬蟲系列(六)

2021-09-23 10:21:06 字數 3273 閱讀 3599

(由於時間安排本週只更新一篇)

前面我們已經可以讀取**的源**了現在為了方便管理我們往往需要將其儲存。當然這裡就不得不說到資料庫這個東東比如mysql,當然鑑於目前只是基礎教程,我們不講太複雜的東西。

這裡我們可以使用urllib.request.urlretrieve

python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。

注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。

open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。

open(file, mode=『r』)

完整的語法格式為:

open(file, mode=『r』, buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)

t 文字模式 (預設)。

x 寫模式,新建乙個檔案,如果該檔案已存在則會報錯。

b 二進位制模式。

+ 開啟乙個檔案進行更新(可讀可寫)。

u 通用換行模式(不推薦)。

r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

rb 以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。一般用於非文字檔案如等。

r+ 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

rb+ 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。一般用於非文字檔案如等。

w 開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb 以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

w+ 開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb+ 以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

a 開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

ab 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

a+ 開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

ab+ 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

file 物件

file 物件使用 open 函式來建立,下表列出了 file 物件常用的函式:

序號 方法及描述

1 file.close()

關閉檔案。關閉後檔案不能再進行讀寫操作。

2 file.flush()

重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。

3 file.fileno()

返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。

4 file.isatty()

如果檔案連線到乙個終端裝置返回 true,否則返回 false。

5 file.next()

返回檔案下一行。

6 file.read([size])

從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

7 file.readline([size])

讀取整行,包括 「\n」 字元。

8 file.readlines([sizeint])

讀取所有行並返回列表,若給定sizeint>0,則是設定一次讀多少位元組,這是為了減輕讀取壓力。

9 file.seek(offset[, whence])

設定檔案當前位置

10 file.tell()

返回檔案當前位置。

11 file.truncate([size])

擷取檔案,擷取的位元組通過size指定,預設為當前檔案位置。

12 file.write(str)

將字串寫入檔案,返回的是寫入的字元長度。

13 file.writelines(sequence)

向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。

(今天的內容可能會很枯燥)

我們先準備一張

**如下:

import urllib.request

url_web=

''web=urllib.request.urlopen(url_web)

file

=open

(r'c:\users\a3139\desktop\新建資料夾\pu.gif'

此外我們還可以用urlretrieve()實現

import urllib.request

url_web=

''path=r'c:\users\a3139\desktop\新建資料夾\puuu.gif'

今天只能將這麼多了!!!由於下週考試下週就不更了只要能培一朵花,就不妨做會朽的腐草。—— 魯迅

Python爬蟲系列

部落格 python,爬蟲 由於近來學 lan 業 ai 繁 fa 忙 zuo 快乙個月沒有更新部落格了。這周完成了兩門課的結課考試,現下時間開始變得充裕。準備梳理一下前段時間學習的關於python爬蟲的內容,權當複習鞏固知識。而初次學習時遇到的疑難雜症,那時候的應對策略是抓大放下,在這梳理過程會下...

python爬蟲學習(六)

1 適用 及場景 抓取需要登入才能訪問的頁面所抓資料報資訊 5.1 post url 5.2 form data ck name 13603263409 password 111 remember false ticket python 方法三 實現 import requests session ...

Python爬蟲系列 開端

網路爬蟲,顧名思義,是從網路上爬取特定資訊的工具。開發環境 乙個完整的爬蟲,一般包含以下四部分或其中幾個部分 主函式spiderurl管理器url manger網頁解析器html parser內容輸出器outputerbeautifulsoup 解析網頁 requests 或 urllib2 獲取網...