Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

requests(爬蟲系列之一)

由於最近工作中,與同事對接模擬手機瀏覽器進行廣告模擬跳轉。又一次接觸用到爬蟲的知識,以前用過urllib + bs4 + selenium定向爬取網易一元奪寶的商品信息保存在數據庫中,當時,還是太年輕,對爬蟲不是很瞭解,對爬蟲的robots協議也不知道。現在重新梳理一下爬蟲的知識。爭取寫一個系列,大致內容順序是requests, bs4,re, scrapy, selenium等。

在介紹requests庫之前,在給大家分享之前呢,小編推薦一下一個挺不錯的交流寶地,裡面都是一群熱愛並在學習Python的小夥伴們,大幾千了吧,各種各樣的人群都有,特別喜歡看到這種大家一起交流解決難題的氛圍,群資料也上傳了好多,各種大牛解決小白的問題,這個Python群:330637182 歡迎大家進來一起交流討論,一起進步,儘早掌握這門Python語言。

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

下面內容是在上嵩天教授課程筆記整理。在這裡感謝他。

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

HTTP協議對資源的操作

方法說明
GET請求獲取URL位置的資源
HEAD請求獲取URL位置資源的響應消息報告,即獲得資源的頭部信息
POST請求向URL位置的資源後附加新的消息
PUT請求向URL位置存儲一個資源,覆蓋原URL位置的資源
PATCH請求局部更新URL位置的資源,即改變該處資源的部分內容
DELETE請求刪除URL位置存儲的資源

以上方法中,GET,HEAD是從服務器獲取信息到本地,PUT,POST,PATCH,DELETE是從本地向服務器提交信息。通過URL和命令管理資源,操作獨立無狀態,網絡通道及服務器成了黑盒子。

文檔

安裝

pip install requests

requests庫安裝小測

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

requests庫7個主要方法

方法說明
requsts.requst()構造一個請求,最基本的方法,是下面方法的支撐
requsts.get()獲取網頁,對應HTTP中的GET方法
requsts.post()向網頁提交信息,對應HTTP中的POST方法
requsts.head()獲取html網頁的頭信息,對應HTTP中的HEAD方法
requsts.put()向html提交put方法,對應HTTP中的PUT方法
requsts.patch()向html網頁提交局部請求修改的的請求,對應HTTP中的PATCH方法
requsts.delete()向html提交刪除請求,對應HTTP中的DELETE方法

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

列出幾個重要的屬性:

屬性說明
r.status_codeHTTP請求返回狀態碼,200表示成功
r.textHTTP響應的字符串形式,即,url對應的頁面內容
r.encoding從HTTP header中猜測的響應內容的編碼方式
r.apparent_encoding從內容中分析響應內容的編碼方式(備選編碼方式)
r.contentHTTP響應內容的二進制形式

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

理解requests庫的異常

網絡鏈接有風險,異常處理很重要

異常說明
requests.ConnectionError網絡連接異常,如DNS查詢失敗,拒絕連接等
requests.HTTPErrorHTTP錯誤異常
requests.URLRequiredURL缺失異常
requests.TooManyRedirects超過最大重定向次數,產生重定向異常
requests.ConnectTimeout連接遠程服務器超時異常
requests.Timeout請求URL超時,產生超時異常

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

爬取網頁的通用代碼框架

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫中的head()方法

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫中的post()方法

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫中的put()方法

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

Requests庫非常重要!神級程序員花三天整理入門資料!超全超長!

requests介紹完了,格式不是太好,在此抱歉,爬蟲系列有時間話會一直更新下去,另外,爬蟲系列完了,計劃做關於python數據處理與繪圖系列。

謝謝閱讀,不要吝嗇你的點贊或打賞。本文轉載於簡書,謝謝若與

相關推薦

推薦中...