Python爬蟲筆記 爬蟲基礎第一課

2021-10-07 09:11:25 字數 2837 閱讀 4027

0.獲取資料——爬蟲程式會根據我們提供的**,向伺服器發起請求,然後返回資料。

1.解析資料——爬蟲程式會把伺服器返回的資料解析成我們能讀懂的格式。

2.提取資料——爬蟲程式再從中提取出我們需要的資料。

3.儲存資料——爬蟲程式把這些有用的資料儲存起來。

屬性                                               作用
response.status_code 檢查請求是否成功

response.content 把response物件轉換為二進位制資料

response.text 把response物件轉換為字串資料

response.encoding 定義response物件的編碼

1.response.status_code

print(res.status_code)

#列印變數res的響應狀態碼,以檢查請求是否成功。

#print(變數.status_code)是用來檢查請求是否正確響應,如果終端結果顯示了200,這個數字代表伺服器同意了請求,並返回了資料給我們。

常見響應狀態碼解釋

響應狀態碼 說明

1xx 請求收到

2xx 請求成功

3xx 重定向

4xx 客戶端錯誤

5xx 伺服器端錯誤

100 繼續提出請求

200 成功

305 應使用**訪問

403 禁止訪問

503 服務不可用

2.response.content

import requests

res = requests.get(

'')#發出請求,並把返回的結果放在變數res中

pic=res.content

#把reponse物件的內容以二進位制資料的形式返回

)#新建了乙個檔案photo.jpg,這裡的檔案加了儲存路徑,它會被儲存在我所設定的桌面上。(如果檔案沒加路徑,它會被儲存在程式執行的當前目錄下。)

#內容需要以二進位制wb讀寫(在學習open()函式時會有接觸)

photo.write(pic)

#獲取pic的二進位制內容

photo.close(

)#關閉檔案

open()函式中r、rb、w、wb、a、ab

「r」—— 以讀方式開啟,只能讀檔案 ,如果檔案不存在,會發生異常。

「w」——以寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案並寫入;如果檔案已存在,先清空,再開啟檔案從頭寫入。

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

「rb」——以二進位制讀方式開啟,只能讀檔案 , 如果檔案不存在,會發生異常

「wb」——以二進位制寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案並寫入;如果檔案已存在,先清空,再開啟檔案並寫入。

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

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

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

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

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

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

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

3.response.text

import requests

#引用requests庫

res=requests.get(

'url'

)novel=res.text

#把response物件的內容以字串的形式返回

k =open

('《***x》.txt'

,'w'

)#建立乙個名為《***x》的txt文件,並寫入

k.write(novel)

#寫進檔案中

k.close(

)#關閉文件

4.response.encoding

res.encoding=『gbk』 #定義response物件的編碼為gbk

目標資料本身是什麼編碼是未知的。用requests.get()傳送請求後,我們會取得乙個response物件,其中,requests庫會對資料的編碼型別做出自己的判斷。但是!這個判斷有可能準確,也可能不準確。

如果它判斷準確的話,我們列印出來的response.text的內容就是正常的、沒有亂碼的,那就用不到res.encoding;如果判斷不準確,就會出現一堆亂碼,那我們就可以去檢視目標資料的編碼,然後再用res.encoding把編碼定義成和目標資料一致的型別即可。

python 爬蟲基礎筆記(一)

筆記記錄來自慕課網 imooc 例 import urllib2,cookielib 建立cookie容器 cj cookielib.cookiejar 建立1個opener 給urllib2安裝opener urllib2.install opener opener 使用帶有cookie的urll...

python爬蟲基礎

一 什麼是爬蟲 通常爬蟲是從某個 的某個頁面開始,爬取這個頁面的內容,找到網頁中的其他鏈結位址,然後從這個位址爬到下乙個頁面,這樣一直不停的爬下去,進去批量的抓取資訊。那麼,我們可以看出網路爬蟲就是乙個不停爬取網頁抓取資訊的程式。二 爬蟲的基本流程 1,發起請求 向目標站點傳送乙個requests請...

python爬蟲基礎

爬蟲 爬蟲,全稱網路爬蟲,指按照一定的規則 模擬瀏覽器人工登入網頁的方式 自動抓取網路資訊資料的程式。簡單的說,就是將瀏覽器上網所能看到頁面上的內容通過爬蟲程式自動獲取下來,並進行儲存。爬蟲其實就是乙個程式自動收集獲取指定網路資料資訊的過程,網路資料資訊量十分龐大,人工獲取無法完成,這時就需要爬蟲來...